我想创建一个包含多个QDockWidgets的小部件,目的是将它放入QMainWindow中。问题是,如果我用layout->addWidget(dockWidget);将QDockWidgets添加到我的QWidget类中(我不知道有其他方法可以做到这一点),然后使用setLayout(layout),那么除了停靠和断开停靠之外,我无法对QDockWidgets执行任何操作。我不能移动它们,我不能把它们放在另一个地方。
QMainWindow有一个QWidget没有的addWidgets特性。使用QMainWindow时,一切都很完美,但如果我将一个QWidget对象(包含一些QDockWidgets)添加到QMainWindow中,我希望它也能正常工作。
有没有可能让我的QWidget完全支持这些QDockWidgets,并使用全功能(移动、缩放、停靠、改变位置)?
谢谢
发布于 2012-06-15 04:05:25
如果您使用了大量的QDockWidgets,那么简单地启用dock nesting可能是解决根本问题的方法。
如果您确实需要在QMainWindow中包含一个小部件,可以尝试在第一个小部件中放入另一个QMainWindow。您可能需要将第二个QMainWindow的windowFlags属性设置为Qt::Widget。
https://stackoverflow.com/questions/11040291
复制相似问题