Qt Error QWidget::setLayout: Attempting to set QLayout

  发布日期:   2017-09-01
  最新修改:   2020-08-05
  阅读次数:   176 次

报错

QWidget::setLayout: Attempting to set QLayout "" on CalculatorMachine "", which already has a layout

原因:

  • 基于主窗口的程序,默认已经有了自己的布局管理器。
  • QMainWindow的中心控件是一个QWidget,可以通过setCentralWidget设置。
  • 若想在QMainWindow中添加 layout,需要通过将该Layout添加到一个QWidget对象中,然后将该布局设置为该空间的布局,最后设置该控件为QMainWindow的中心控件,代码如下:

widget = QWidget(self);

widget.setLayout(gridLayout);

self.setCentralWidget(widget);


   转载规则

《Qt Error QWidget::setLayout: Attempting to set QLayout字》GajAngels 采用 知识共享署名-非商业性使用 4.0 国际许可协议 进行许可。