4

Qt ウィンドウで、右側にドック ウィジェットを次のように配置する必要があります。

代替テキスト http://img72.imageshack.us/img72/6180/docksonside.png

Qt では、addDockWidgetメソッドに引数を指定して位置 (上、下、左、右) を指定できますが、同じ側に配置されたQMainWindow2 つをどのように配置するかは明らかにできません。QDockWidgets

ドック ウィジェットを追加するコードを次に示します。これは PyQt4 を使用しますが、C++ を使用した Qt でも同じはずです

self.memUseGraph = mem_use_widget(self)
self.memUseDock = QDockWidget("Memory Usage")
self.memUseDock.setObjectName("Memory Usage")
self.memUseDock.setWidget(self.memUseGraph)
self.addDockWidget(Qt.DockWidgetArea(Qt.RightDockWidgetArea),self.memUseDock)

self.diskUsageGraph = disk_usage_widget(self)
self.diskUsageDock = QDockWidget("Disk Usage")
self.diskUsageDock.setObjectName("Disk Usage")
self.diskUsageDock.setWidget(self.diskUsageGraph)
self.addDockWidget(Qt.DockWidgetArea(Qt.RightDockWidgetArea),self.diskUsageDock)

このコードを使用して両方を右側に追加すると、作成したスクリーンショットとは異なり、一方が他方の上に表示されます。そのショットを作成した方法は、プログラムを開始した後にマウスでドラッグすることでしたが、その方法で開始する必要があります。

4

2 に答える 2

8

QMainWindow::splitDockWidgetを使用できます。

ドキュメントから:

最初のドックウィジェットがカバーするスペースを2つの部分に分割し、最初のドックウィジェットを最初の部分に移動し、2番目のドックウィジェットを2番目の部分に移動します。

方向は、スペースの分割方法を指定します。Qt ::水平分割により、2番目のドックウィジェットが最初のドックウィジェットの右側に配置されます。Qt :: Vertical分割により、2番目のドックウィジェットが最初のドックウィジェットの下に配置されます。

最初にQMainWindow::dockNestingEnabledをtrueに設定する必要があります(ただし、すでに設定していると思います)。

于 2010-06-09T15:44:50.537 に答える
6

試したことはありませんが、メイン ウィンドウに追加するときにドック ウィジェットの向きを設定できると思います。

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

于 2010-06-09T14:08:43.050 に答える