質問

いつQDockWidgetsるブ起動時に使用 QMainWindow.tabifyDockWidget.

メイン画面で、すべての addDockWidget 電話:

self.tabifyDockWidget(self.dock_widget1, self.dock_widget2)
self.tabifyDockWidget(self.dock_widget1, self.dock_widget3)

に基づき、一定の行為ので、そういった選択のタブを持参し、又は、他の二ついない場合は既に見えています。たって使用 setVisiblesetWindowState(Qt.WindowActive), も変化します。

があるので、プログラムを選択し、ブドックウィジェットしてもらい、それを持ってと交換してください。

役に立ちましたか?

解決

QT-関心メーリングリストの答えのおかげで、これはQWidget.raise()を行うには非常に簡単です。

http://qt-project.org/doc/qt- 4.8 / qwidget.html#昇給する

PyQtはでは、それはQWidget.raise_()です。

http://pyqt.sourceforge.net/Docs/PyQt4/qwidget。 htmlの#を上げる

他のヒント

私にとってます:

dock2.show();

dock2.raise();

十分でした。しかし、はい、両方が必要とされています!

まだ試ことが、こうにQt4.5+(てしまいPyQt変換す):

class MyMainWindow ; // A QMainWindow

void MyMainWindow::bringToFront( QDockWidget* dockIn )
{
   QList<QDockWidget*> docks = tabifiedDockWidgets( dockIn ) ;
   foreach( QDockWidget* dock, docks )
   {
      // Move second dock on top of first dock widget.
      tabifyDockWidget( dock, dockIn ) ;
   }
}

QMainWindow::tabifiedDockWidgets()QMainWindow::tabifyDockWidget().

これは私のために動作しませんでした。

dock2.raise_() 

私はそれを使用して作業を得ることができます:

dock2.show()
parent.tabifyDockWidget(dock1, dock2)

宿のようなソリューション設定のウィジェットとはでtabified QDockWidgetを背景に利用できます 視認性-信号変更注代理人 このように:

class Dock(QDockWidget):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)
        self.visibilityChanged.connect(self.setVisibility)

    def setVisibility(self, visible):
        if visible: self.setFocus()

    def setWidget(self, widget:QWidget):
        super().setWidget(widget)
        self.setFocusProxy(widget)

少し作例:

app = QApplication([])
main = QMainWindow()
dock1 = Dock('Dock1', main )
dock1.setWidget(QTextEdit(dock1))
dock2 = Dock('Dock2', main )
dock2.setWidget(QTextEdit(dock2))
main.addDockWidget(Qt.LeftDockWidgetArea, dock1)
main.tabifyDockWidget(dock1, dock2)
main.show()
app.exec()

私のために働いている解決策は、次のとおりです。

tabifyDockWidget(dock1, dock2)
dock2.setVisible(True)
dock2.setFocus()
dock2.raise_()

3つの機能が必要なように見えること。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top