在QT开发过程中,有时候会遇到这样的问题,当我们自己创建了一个Layout对象以后,使用QWidget的setLayout方法,将这个Layout对象应用到窗口中的时候,发现窗口上没有我们添加的控件,比如,QMainWindow就是一个例子,还有QToolBar也是这样,还有其他的QT预定义的别的窗口类有时候也会遇到这样的情况。

之所以出现这样的情况,是因为这个窗口类中,已经有了一个Layout对象了,这时候,当你再setLayout的时候,就是无效的,这是有三个办法,一个办法是调用layout()方法,返回这个窗口内部的Layout的对象,然后删除它,再调用setLayout设置自己的Layout对象,还有一个办法,就是直接使用这个窗口内部的Layout对象,第三个方法,就是直接创建其子窗口,在这个子窗口中使用Layout对象,如,在QMainWindow中,我们通常创建一个继承于QWidget的窗口对象,然后调用setCentralWidget方法来安装这个窗口,然后在这个窗口中使用自己的Layout。

原文链接:http://blog.csdn.net/xinzhiyounizhiyouni/article/details/44521501

http://blog.csdn.net/gyhguoge01234/article/details/53561271

相关文章:

  • 2021-07-29
  • 2022-12-23
  • 2021-06-16
  • 2022-12-23
  • 2021-04-19
  • 2021-09-09
  • 2021-05-26
  • 2021-05-21
猜你喜欢
  • 2021-07-25
  • 2021-10-04
  • 2022-12-23
  • 2022-12-23
  • 2021-11-13
  • 2022-01-01
  • 2021-09-09
相关资源
相似解决方案