QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
2013-07-06 15:56
971 查看
今天QT写程序时,发现了一个问题,就是我在一个窗口中放置了几个按钮,可是那几个按钮在最后在显示图形中始终无法出现,具体实现代码如下:
MainWindow::MainWindow(QWidget *parent)
经过一番查阅之后,发现原来是因为窗口继承的是QMainwindow,所以需要设置 setCentralWidget();即把代码改成如下即可:
MainWindow::MainWindow(QWidget *parent)
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
a = new QPushButton(tr("123"));
b = new QPushButton(tr("456"));
c = new QPushButton(tr("789"));
layout = new QVBoxLayout(this);
layout->addWidget(a);
layout->addWidget(b);
layout->addWidget(c);
}
经过一番查阅之后,发现原来是因为窗口继承的是QMainwindow,所以需要设置 setCentralWidget();即把代码改成如下即可:
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
{
a = new QPushButton(tr("123"));
b = new QPushButton(tr("456"));
c = new QPushButton(tr("789"));
layout = new QVBoxLayout();
layout->addWidget(a);
layout->addWidget(b);
layout->addWidget(c);
QWidget * widget = new QWidget (this) ;
widget->setLayout(layout) ;
this->setCentralWidget(widget) ;
}
相关文章推荐
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- QWidget::setLayout: Attempting to set QLayout "" on MainWindow "", which already has a layout
- setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- Qt提示:setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- setLayout: Attempting to set QLayout "" on MainWindow "MainWindow", which already has a layout
- Qt中使用setLayout()函数时报错------Attempting to set QLayout "" on MainWindow "MainWindow",which already has
- QT Widget::setLayout: Attempting to set QLayout “” on Widget “”, which already has a layout
- Qt:Attempting to add QLayout "" to MainWindow "", which already has a layout
- QLayout: Attempting to add QLayout "" to MyTcpClient "", which already has a layout
- Attempting to add QLayout "" to MainWindow "", which already has a layout 给QWidget或者QDialog设置布局的时候方
- QLayout: Attempting to add QLayout XXX to XXX, which already has a layout
- qt QLayout: Attempting to add QLayout "" to MainWindow "", which already has a layout. 错误
- setGeometry: Unable to set geometry 72x15+640+276 on QWidgetWindow/'QLabelClassWindow'. Resulting ge
- ListView "Cannot add header view to list -- setAdapter has already been called."
- 遇到了IAR烧写程序出错,附解决办法The stack plug-in failed to set a breakpoint on "main"