Reputation: 45
I've created a QMainWindow
class. I coded a QGridLayout
for the main layout, but whenever I add setLayout(grid);
this error comes up:
QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
As far as I know, I haven't added any sort of layout in my code before.
I'm using Qt Creator and using Linux (ubuntu 12.10).
Upvotes: 2
Views: 1922
Reputation: 11051
What you can do is create a QWidget set it as the central widget and give this one a layout. QMainWindow has its own layout already to place statusbar and mainmenu thus you can't set another one directly.
Upvotes: 6
Reputation: 206699
QMainWindow
comes with its own layout, you can't set that directly.
You probably should be setting your layout on the central widget, or possibly not using a QMainWindow
at all if you don't want its layout/features.
Upvotes: 4