如何使用代码屏幕截图显示QDockWidgets的位置?

时间:2010-06-09 13:48:58

标签: user-interface qt pyqt4 dockable

我想要一个Qt窗口在右边提供以下Dock功能部件的安排。

alt text http://img72.imageshack.us/img72/6180/docksonside.png

Qt允许您为addDockWidget的{​​{1}}方法提供一个参数来指定位置(顶部,底部,左侧或右侧),但显然不是两个QMainWindow放置在将安排同一方。

以下是添加停靠窗口小部件的代码。这使用PyQt4,但对于Qt和C ++应该是相同的

QDockWidgets

当使用此代码将它们添加到右侧时,一个在另一个之上,而不是像我制作的屏幕截图。我拍摄这个镜头的方法是在启动程序后用鼠标将它们拖到那里,但我需要它以这种方式开始。

2 个答案:

答案 0 :(得分:8)

您可以使用QMainWindow::splitDockWidget

来自文档:

  

将第一个停靠窗口小部件覆盖的空间拆分为两部分,将第一个停靠窗口小部件移动到第一个部分,然后将第二个停靠窗口小部件移动到第二个部分。

     

方向指定空间的划分方式:Qt :: Horizo​​ntal拆分将第二个停靠小工具放在第一个小工具的右侧; Qt :: Vertical拆分将第二个停靠窗口小部件放在第一个停靠点下面。

你必须先将QMainWindow::dockNestingEnabled设为真(但我猜你已经这样做了。)

答案 1 :(得分:6)

我从未尝试过,但我认为您可以在将停靠窗口小部件添加到主窗口时设置停靠窗口小部件的方向:

void QMainWindow::addDockWidget ( Qt::DockWidgetArea area, QDockWidget * dockwidget, Qt::Orientation orientation )