問題タブ [qdockwidget]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
qt - QDockWidget -- ウィンドウのサイズを変更するときは、ウィジェットをできるだけ近づけてください
複数の QGroupBox を含む QDockWidget があります。(QGroupBoxes の内容は、mousePressEvent で表示/非表示になります。) QGroupBoxes をできるだけ密に、できれば DockWidget の上部に配置する方法を探しています。次のようになります。
ただし、DockWidget のサイズを大きくすると、GroupBoxes がバラバラになります。
...ほとんどの場合、これは非常に便利です。しかし、この動作を無効にして、拡張可能なリストのようなウィジェットのグループを取得する方法はありますか?
DockWidget には QGroupBox が含まれています。QGroupBoxes 'Foo'、'Bar'、'Baz' がそのボックスの QVBoxLayout に追加されます。
python - pyqt : Maya で qdockwidget のサイズを変更する
Maya 用のツールを作成しました。また、QMainWindow 内で QDockWidget を使用して UI 全体を構成しました。あなたと私が知っているように、「saveState」と「restoreState」を使用して、QToolBar、QDockWidget などを保持できます。
理由はわかりませんが、Maya では実際の状態を「restoreState」することができません。QDockWidget のサイズを除いて、QToolBar、QDockWidget のすべての状態を復元できます。そこで、プログラムで QDockWidget のサイズを変更したいと思います。それを行う方法はありますか?
qt - QDockWidget のレイアウトを正しくする
私はドック ウィジェットを多用して、ユーザーがツールを好きなように配置できるようにしています。私のドック ウィジェットには、静的コントロール (FS、固定垂直サイズ) が含まれているものもあれば、画像が大きいほど良い (ES、垂直サイズの拡大) ものもあります。
私が直面している問題は、これを可能にするサイズヒントの構成を取得できないことです:
- 可変サイズのドックウィジェットをできるだけ大きくする
- バグのある動作なしで、すべてのドックウィジェットを互いにタブでつなぐ
1.については、すべての FS のコンテンツ ウィジェットのバーティカル ポリシーを「固定」に設定できます。これにより、コンテナーは可変サイズのウィジェットにすべての空き領域を使用するようになります。ただし、ES ウィジェットが FS ウィジェットでタブ化されるとすぐに、FS ウィジェットが表示されていないときに、せいぜい頑固な動作 (ユーザーがサイズを調整できない) とバグのある動作 (サイズを調整すると描画エラーが発生する、実際にはサイズは変わりません)。
2. については、すべての垂直ポリシーを「優先」(FS)または「拡張」(ES)のいずれかに設定できます。これにより、ES が優先されるはずですが、そうではありません。また、Vertical Stretch を試してみました ( DockWidgets が関与しない他のシナリオでは役立ちます)。
デフォルトでは、アプリケーションがスペースを浪費し、ウィンドウのサイズ/レイアウトが変更されるたびに、ユーザーがドックウィジェットのサイズをいくつか調整する必要があるという状況に悩まされています。それは非常に退屈で直感に反します。
どうすればこれを正しく行うことができますか?
フォローアップの質問: DockWidget に特定のアスペクト比のコンテンツを教えるにはどうすればよいですか?
c++ - QtでQDockWidget関数を拡張するには?
私は Qt を初めて使用し、いくつかのウィジェットを試しましたが、QDockWidget が最もモダンでインタラクティブなウィジェットであることがわかりました。
しかし、「左/右/上/下の4つの側面にのみウィジェットをドッキングする場所について」という小さな制限が見つかりました
次の2つのことのいずれかを実行したいのですが、どれでもうまくいくはずです。
- ウィジェットをドッキングする領域を追加します。「たとえば、ウィジェット間のセパレーターを認識し、そこからデータを取得し、それに応じてサイズを変更できます」
- QDockWidget の機能全体を QWidget に再実装し、オプション 1 のようにします。
前もって感謝します
qt - Qt 4.8 と比較して Qt 5.2 で FlowLayout の動作が異なるのはなぜですか?
アプリケーションを Qt 4.8.4 から Qt 5.2.1 に移植しました。Qt ドキュメントの FlowLayout サンプル コードでFlowLayout
提供されているクラスに問題があります。
中央のウィジェットの下部に がドッキングされていますQMainWindow
。QDockWidget
にQDockWidget
は、FlowLayout
いくつかの子ウィジェットがあります。Qt 4.8 では、これは魅力的に機能し、子ウィジェットのサイズはDockWidget
. ただし、Qt 5.2 では、DockWidget
はそのサイズを最大にしようとします (中央のウィジェットから取って代わります)。レイアウトを変更すると、この望ましくない動作を防ぐことができます。もちろんFlowLayout
わざと使ってるけど。
問題を説明するために、最小限の例を作成しました。
のコンストラクターDockWidget
:
誰かが問題の内容と解決方法を知っていますか?
編集 新しい最小限の作業例を作成しましたが、残念ながらQt 4.8とQt 5.2の間の不一致を再現できません。Qt 4.8 でも同じ問題が発生するので、ここで紹介したいと思います。
垂直方向のスペース全体を占有する下部にドッキングされたドックウィジェットを示す初期ビュー:
ドックウィジェットをマウスでリサイズして表示
マウスでメインウィンドウのサイズを変更した後の表示
これらのスクリーンショットは、ドックウィジェットのサイズを手動で変更した後、ドックウィジェットが期待どおりに動作することを示しています。ただし、初期化時に、ウィジェットは使用可能なすべてのスペースを中央のウィジェットから取得しますが、これは望ましくありません。
誰かが解決策/回避策を知っていますか?
windows - QSettings の復元により、QDockwidget がない場合に show() でアプリがフリーズする
私は.dllをロードするQtアプリケーションを持っています.dllは.dllにQDockwidget
ウィジェットを追加しますQMainWindow
. サイズとジオメトリを維持するために、それらを保存していますQMainWindow
そして起動時に設定を読み返します
呼び出す直前show()
。
アプリを実行して閉じてから、dll の 1 つを削除すると (QDockwidget
起動時に以前に読み込まれたものを効果的に削除します)、アプリはshow()
呼び出しでフリーズしQMainWindow
ます。レジストリ フォルダ (私は Windows を使用しています) を削除することで、アプリケーションを適切に起動できますが、HKEY_CURRENT_USER\Software\MyCompany\MyApplication\MainWindow
そこに保存されている他のすべての情報が失われます。
私が望むのは、UI が、QDockWidget
すべてのジオメトリと状態情報を破壊するというナンセンスではなく、失われたものが隠され、決して復元できないかのように表示されることです。
誰もこの問題を見たことがありますか?それも解決!?! ヒント、ヒント、または回避策を教えていただければ幸いです。
乾杯
windows - QDockWidget は両方の windowTitle を変更します
から派生したクラスがありますQDockWidget
。
カスタム クラスのコンストラクターで、タイトルもコンストラクターに渡しQDockWidget
、windowTitle
.
実行時にwindowTitle
、ドッキングされていないウィンドウの を変更できますが、ドッキングされたヘッダーのタイトルは変更されません。