問題タブ [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.

0 投票する
1 に答える
925 参照

qt - QStatusBar 付きの QDockWidget は可能ですか?

QMainWindowステータスバーを簡単に設定できます。フローティング がある場合QDockWidget、(ユーザーの観点から) 通常のウィンドウのように動作します。

アーカイブしたいのはQStatusBar、フローティングに a を追加することQDockWidgetです。信号を使用するtopLevelChangedと、ウィンドウがドッキングされているときにステータスバーを非表示にできます。

しかし、ステータスバーをに追加できますQDockWidgetか? 少なくとも Qt Creator フォーム ビルダーではできませんQMainWindow( QDockWidget.

それをランタイムにする方法はありますか?

0 投票する
1 に答える
150 参照

c++ - Designer で Qt 5 の DockWidgets を非表示/表示する

まったくなじみのないフレームワークである Qt を使用してアプリケーションを開発しており、デザイナーを使用して作成した DockWidget を表示および非表示にしようとしています。

Qt でのドックウィジェットの表示と非表示に関する一見似たような質問の多くとは異なり、ウィジェットを完全に Qt Designer で作成したため、これらの質問の回答で見つけたコードの多くをリンクする方法がわかりません。基本的に、*.cpp ファイルではドックウィジェットについて言及していませんが、.ui ファイルでは言及しています。

このデザイナーが作成したドックウィジェットをコードに組み込んで、表示および非表示にするにはどうすればよいですか?

このような初心者の質問で申し訳ありません。

ありがとう、エリプ

0 投票する
2 に答える
506 参照

qt - 同じエリアにある 2 つの qdockwidget 間の重複を防ぐ方法は?

私は2つのqDockWidgetsが同じ許可された領域を持っています.qtはデフォルトで2つのドックウィジェット間のオーバーラップを許可するので、2つのドックウィジェットは1つのタブウィジェットになります. この行為をやめさせたい

0 投票する
1 に答える
2011 参照

python - サイズ変更と再描画時にpyQt QWidgetの「ちらつき」

私のpyQtアプリで再描画の「ちらつき」を最小限に抑える方法を探しています。

私のアプリは、2 つの QDockWidget 派生オブジェクト (およびツール、メニュー、ステータスバーの通常の品揃え) を含む QMainWindow です。QDockWidgets* の 1 つは、QGridLayout を使用して、各グリッド要素に多数の QGLWidget 派生ウィンドウを配置します。

MainWindow のサイズを変更すると、配置全体が正しくサイズ変更されます。ただし、QGLWidgets の間のスペースでは、MainWindow の一部の一部が部分的にレンダリングされた奇妙な形のビューのように見えますが、一瞬ビューに「フリック」してから正しくレンダリングします。私のアプリは一般的に暗いスタイルで色付けされていますが、QGLWidgets の間のちらつきは通常、白と黒だけです。Mainwindow の境界線を速くドラッグするほど、このちらつきが顕著になります。そして強調させてください、「ちらつき」は QGLWidget オブジェクトの背後と間の背景にのみあり、他のすべては問題ないようです。

ちらつきは QGLWidgets に何かを描画しているかどうかに関係なく発生するため、レンダリングに大きな負荷がかかることはありません。

再描画 (およびサイズ変更) イベントでこのちらつきをなくすためにできることはありますか?

一部のウィジェットで . hide() および . show() を使用して、すべてのウィジェットを同じ暗い色に着色しようとしましたが、プロセスが遅くなり、悪化するようです。

  • 注QDockWidgetはレイアウトを受け入れないため(サポートしていないと思います)、QDockWidgetにダミーのQWidgetを配置する必要があることがわかりました。多分それはこれと関係があります。

これは、Windows 7で実行されているpython 2.7用のpyQt 4.10.1を使用しています。私はpyQtで約1か月の経験があります

0 投票する
2 に答える
1560 参照

python - カスタム タイトル バー ウィジェットを設定すると、Windows のウィンドウ フラグが変更されます

ドッキング可能なウィンドウのタイトル バーとして使用するカスタム ウィジェットを実装しています。私の問題は Windows でのみ発生します。つまり、ドック ウィンドウが浮かんでいるときにウィンドウの境界線が消えます。

問題は、Windows のみで、ウィンドウ フラグが変更されていることです。つまり、これを行うとき:

前後のフラグの異なる設定を出力します。ただし、Linux では同じままであり、境界線は変更されません。

私の質問は、ウィンドウの境界を復元する方法ですか?

更新: ドック ウィンドウがフローティングしているときにカスタム タイトル バーが境界線のフラグをオーバーライドするため、ドック ウィンドウを編集してある種の境界線を表示するにはどうすればよいですか? (ドック ウィンドウがフローティングしているときにカスタム タイトル バーを表示することが重要です。)

0 投票する
1 に答える
1512 参照

c++ - Qt5 QDockWidget と固定高 CentralWidget

Qt5 のメイン ウィンドウ クラスでドック ウィジェットを使用しようとしています。ただし、中央のウィジェットを固定の高さに設定すると、 Qt でウィンドウを上部または下部にドッキングする際に問題が発生します。基本的に、中央のウィジェットの上下に「パディング」または「マージン」があるように見えます。ウィジェットに自動高さを設定すると、端から端まで (上/下) ドッキングが正常に機能します。高さ固定の中央ウィジェットを使用しているときに、マージンを削除するか、ドッキング機能を有効にするにはどうすればよいですか?

たとえば、スクリーンショットを参照してください。

自動高さで右にドッキング (中央ウィジェットに余白なし)

自動高さで右にドッキング (中央ウィジェットに余白なし)

自動高さのドック下部 (中央ウィジェットに余白なし)

自動高さのドック下部 (中央ウィジェットに余白なし)

固定高さで下部をドッキング (マージン/パディング、ドッキングしません)

Dock Bottom w/ Fixed Height (余白/パディング -- 灰色の領域、ドッキングしません)

それが役立つ場合のコードは次のとおりです。

ヘッダ:

クラス定義:

0 投票する
1 に答える
3480 参照

qt - ドッキングおよびフローティング時に QDockWidget の境界線を設定する

QDockWidgetドッキング時とフローティング時に境界線を持つようにスタイルを設定しようとしています。

私は試した:

しかし、これはフローティング時にのみ境界を生成しました。ドッキングすると、境界線が消えました。

どうすればこれを解決できますか?

0 投票する
1 に答える
1081 参照

c++ - フローティング QDockWidget の最小サイズ

QDockWidgetQt Creator で設計しました。何らかの理由で、最小サイズが割り当てられています (スクリーンショット)。サイズを変更して (例: に0x0) フォームを保存できますが、フォームを再度開くと、フォームは にリセットされ60x38ます。すべての子ウィジェットの最小サイズは0x0です。

ここのようにコード(ランタイム)でサイズを変更しても

フローティング(!) ウィジェットのサイズを 60 未満に変更できません。その制約はどこから来て、どうすれば幅を減らすことができますか?

QtCreator

0 投票する
2 に答える
1855 参照

c++ - サイズ変更ハンドルをドラッグして QDockWidget を折りたたむにはどうすればよいですか?

基本的な質問

QDockWidgets を区切るバーのサイズ変更/ドラッグ イベントを管理することは可能ですか?

最終目標

サイズ変更バーを最小サイズを超えて 0 にドラッグすることで、QDockWidget を幅または高さ 0 に折りたたむ方法を提供しようとしています。最小サイズを超えてドラッグする必要があるため、ウィジェットのサイズ変更イベントを聞くことはできません。最小サイズ変更値に達すると停止するためです。

私が持っているもの

メインウィンドウにすべてドッキングされている複数の QDockWidgets があります。各 QDockWidget には、QT が提供するサイズ変更ハンドルがあります。これは QSplitter のように見えますがfindChildren<QSplitter *>()、メイン ウィンドウで a を実行すると、参照が 0 になります。オブジェクトをイントロスペクトすると、QResizeHandler があるように見えますが、このオブジェクトに関するドキュメントが見つからず、プライベート クラスである可能性があります。

代替ソリューション?

タイトルバーに折りたたみボタンを簡単に追加できることはわかっていますが、可能であればこれをドラッグ可能にしたいと考えています。おそらく、サイズ変更の最小値を無効にして、ユーザーがサイズを 0 に変更できるようにする方法を見つけることができますか?

0 投票する
2 に答える
160 参照

c++ - Qt: QDockWidget の QLabel のサイズ

left を作成しQDockWidget、それに 2 を追加QLabelしました。ラベルのサイズを正方形にしたい (デフォルトでは 100x100)。

では、ユーザーが の幅を広げた場合QDockWidget、ラベルを正方形のサイズに保つにはどうすればよいでしょうか?

私は多くのことを試しましたが、成功しませんでした:(