私はドックアナロジーが好きで、ユーザーはトップ、ボトム、サイドのウィジェットと同様に、2つの大きな「中央」ウィジェットを必要としていると信じています。ドックのウィジェットにはラベルが付いていることも好きです。 QDockWidget( "ファイルシステムビューア")。単一のセントラルウィジェットの代わりにドックの場所を追加する簡単で現在の方法はありますか? This threadは一度利用可能でしたが、今はお勧めできません。そうでない場合は、中央ウィジェットにラベルを付けてドックのように見える方法がありますか?PySideを使用してドックの場所を増やしますか?
1
A
答えて
1
あなたがリンクした答えは、すでに中心のウィジェットとしてQMainWindow
を設定する解決策を提供しています。この中央ウィジェットは、ドックウィジェットのみを持つ必要があり、独自のウィジェットはありません。
このアプローチにはいくつかの制限があります。まず、中央のドックウィジェットと外側のドックウィジェットを入れ替えることはできません(またその逆もあります)。第2に、すべて外部ドックウィジェットが閉じられている場合、メインウィンドウにメニューバーがない限り、復元できません。メニューバーには、ドックウィジェットを復元するためのコンテキストメニューが自動的に表示されます。これは、ドックウィジェットのタイトルバーを右クリックしたときに表示されるのと同じメニューです。ここで
は、このアプローチを実証デモスクリプトです:
import sys
from PySide import QtGui, QtCore
class MainWindow(QtGui.QMainWindow):
def __init__(self):
super(MainWindow, self).__init__()
self.centre = QtGui.QMainWindow(self)
self.centre.setWindowFlags(QtCore.Qt.Widget)
self.centre.setDockOptions(
QtGui.QMainWindow.AnimatedDocks |
QtGui.QMainWindow.AllowNestedDocks)
self.setCentralWidget(self.centre)
self.dockCentre1 = QtGui.QDockWidget(self.centre)
self.dockCentre1.setWindowTitle('Centre 1')
self.centre.addDockWidget(
QtCore.Qt.LeftDockWidgetArea, self.dockCentre1)
self.dockCentre2 = QtGui.QDockWidget(self.centre)
self.dockCentre2.setWindowTitle('Centre 2')
self.centre.addDockWidget(
QtCore.Qt.RightDockWidgetArea, self.dockCentre2)
self.dockLeft = QtGui.QDockWidget(self)
self.dockLeft.setWindowTitle('Left')
self.addDockWidget(QtCore.Qt.LeftDockWidgetArea, self.dockLeft)
self.dockRight = QtGui.QDockWidget(self)
self.dockRight.setWindowTitle('Right')
self.addDockWidget(QtCore.Qt.RightDockWidgetArea, self.dockRight)
self.menuBar().addMenu('File').addAction('Quit', self.close)
if __name__ == '__main__':
app = QtGui.QApplication(sys.argv)
window = MainWindow()
window.setGeometry(500, 50, 600, 400)
window.show()
sys.exit(app.exec_())
関連する問題
- 1. AppleScriptを使用してMacのボリュームを増やしますか?
- 2. oraclepki.jar、osdt_cert.jar、osdt_core.jarをドックする場所は?
- 3. クラスメソッドや他の場所でコードcls().__ init __()を使用していますか?
- 4. セッションを使用して何かの数を増やすには?
- 5. Javaがメモリ不足の場合:ヒープスペースを増やしますか?
- 6. jqueryを使用して数字を1つ増やしますか?
- 7. Googleマップ - Facebookの場所偽の場所JSONを使用して
- 8. jqueryを使用してコンテナの幅を10分増やす
- 9. PDO Prepared Statementを使用して列の値を増やす
- 10. mongooseを使用してサブ文書のキーを増やす
- 11. vmwareを使用してソケットの数を増やす
- 12. JavaScriptを使用して上/左/下/右の値を増やす
- 13. コアデータを使用してエンティティのカウントを増やす(Twitter CS193p)
- 14. jmeterを使用してグラファイトのデータポイントを増やす
- 15. レールとレディースを使用してショッピングカートのアイテムを増やす
- 16. pysideを使用したImportError
- 17. SELECTを使用してINSERT INTOを使用し、列に値を増やす
- 18. JSQLocationMediaItemを使用して場所を送信します
- 19. Flickr APIを使用して場所や言語で写真を検索する
- 20. javascriptを使用してID属性値を増やす
- 21. ループステートメントを使用してJava変数カウンタを増やす
- 22. アプリケーションスクリプトを使用してGoogleシートセルを1つ増やす
- 23. RecyclerビューでPicassoを使用してメモリを増やす
- 24. XAMLアニメーションを使用してプログレスバーを増やす方法は?
- 25. javascriptを使用して入力名を増やす
- 26. javascript/jqueryを使用して日数を増やす方法
- 27. グローバルアセンブリキャッシュを使用して速度を増やす
- 28. JMeter GUIを使用してユーザー数を増やす
- 29. javascriptを使用して行番号を増やす? 、
- 30. forループでintを使用して文字を増やす
これはまだ最善のアプローチであれば、私はそれを使用します。あなたのコードは完全に機能します。ありがとうございました。 – davideps