問題タブ [qmainwindow]

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 に答える
224 参照

qt - Qtのプラグインから返されたQWidgetを破棄します

私のアプリはウィンドウ()を作成するプラグインをロードしますが、プラグインから返されたウィジェットがの子ではないため、QWidgetを終了するときにそれを破棄することはできません。問題は、そのウィンドウをメインウィンドウの子にすると、別のウィンドウにウィンドウが表示されることです。しかし、私はそれらの両方を分離する必要があります。私はそれらを分離しました(しかし、メインウィンドウはプラグインからのウィンドウを制御できません)、私の場合、アプリが終了したときにプラグインからウィンドウを閉じる方法がわかりません。どうすればそれを達成できますか?QMainWindowQMainWindow

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

pyqt - 別の QMainWindow から呼び出されると QMainWindow が点滅して消える

このかなり最小限のコードは、3 つの右クリック オプションを備えたシステム トレイ項目を作成します。1 つは QDialog のインスタンス、もう 1 つは QMainWindow、そして Quit です。これは、いくつかの qdialog と、テーブル ウィジェットを含む qmainwindow を持つシステム トレイ駆動型アプリ用です (または、qdialog にテーブルを作成することは可能ですか?)。私はこれに 1 週​​間ほど行き詰まっており、多くの関連資料を読み、解決方法がわかりません。

systray アイコン メニューから QDialog をクリックすると、ダイアログが開き、ユーザーの操作を待ち、[OK] または [キャンセル] ボタンをクリックすると、どちらがクリックされたかが出力されます。QDialog には独自の exec_() があるため、これは機能しているように見えます。これまでのところ素晴らしい。

ただし、QMainWindow メニュー オプションをクリックすると、メイン ウィンドウのダイアログが短時間表示され、もちろん、ユーザーが入力する機会もなく消えます。代わりに、qmainwindow ダイアログは QApplication の exec_() に依存する必要があり、代わりに app.exec_() の直前にオブジェクトが初期化されるのでしょうか? それが機能する場合、 def qmainwindow() がユーザーから情報を取得する方法については明確ではありません。

いくつかの変更、ビンゴを知っている人にとっては簡単なことです。

現在の環境: Windows 7 または XP、Python 2.7、Pyside

これを実行すると、クリック (右クリック) できるシステム トレイに空白のプレースホルダーが表示されます。または、'sample.png' の代わりに実際の画像を指定することもできます。

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

qt - MainWindow が表示された後の Exec() QDialog

MainWindow 自体が表示された後、(exec() を使用して) Modal QDialog を表示させたいと考えています。

exec を呼び出そうとしまし MainWindow::showEvent ( QShowEvent * event )たが、MainWindow が表示される前に表示されます。

どうすればこれを達成できますか?

どうも。

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

macos - child QMainWindow のタイトル バーが Mac OS X で消えた (さらに説明を追加)

タイトルとしてQt 4.8を使用して、Mac OS Xでプログラムを開発しています。今、私はそれに多くの時間を費やしましたが、まだ解決できない問題に直面しています。

何らかの操作の後に QMainWindow (B と呼ばれる) を開く QWidget (A と呼ばれる) があります。B が開かれると、A が B によってブロックされる必要があるため、A を B の親として設定し、B のウィンドウ モダリティを Qt::WindowModal に設定します。

他のプラットフォームでは思った通りに動作しますが、Mac になると、B には独自のタイトル バーがなく、ポップアップして A のタイトル バーにアタッチされているだけです。 A のタイトル バーはグレー表示されています。つまり、ボタンで B を閉じることができません。閉じるには、QMenu の終了 QAction を使用する必要があります。

B の親を B ではなく 0(NULL) に設定すると、Windows や Linux と同じように独立したタイトル バーが表示されます。しかし、B が A によってブロックされたプロパティを失いました。

Qt::CustomizeWindowHint などのウィンドウ フラグを設定しようとしましたが、誰も機能しません。

A と B の間の階層関係を維持し、Mac で B に独立したタイトル バーを与える方法はありますか? みんなの助けをありがとう:)

ps。小さなプログラムを試してみたところ、この状況は WindowModal でのみ発生することがわかりました (NonModal と ApplicationModal は正常に動作します)。

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

qt - 透明なウィジェットが親と一緒に移動しない

透明なウィジェットを表示する Qt アプリケーションを作成しました。フォームを表示する別の Qt アプリケーションが既に実行されています。この Qt アプリケーションは、透明なウィジェットの親として機能します。透明なウィジェットの親を変更した後、親の Qt ウィンドウを移動すると、透明なウィジェット (2 番目の Qt アプリケーションの子) が親に対してまったく移動しません。

注: 透明度コードを削除すると、子ウィジェットはその親に従い、一緒に移動します。

これは私のコードです:

どこが間違っていますか?

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

c++ - QWidgetのサブクラスでsetCentralWidgetを使用していますか?

私はC++とQtに慣れていないので、この質問を正しく行っているかどうかはわかりません。しかし、QWidgetのサブクラスがあるとしましょう。

サブクラスのオブジェクトへのポインターをQMainWindowのsetCentralWidgetメンバー関数に渡すことはできますか?このようなもの:

私が尋ねている理由は、テキストボックスといくつかのボタンを備えたレイアウトを持つQWidgetのサブクラスを作成したためです。これをQMainWindowオブジェクトの中央ウィジェットとして挿入したいと思います。これは可能ですか?そうでない場合、私はこれを行うべきより良い方法がありますか?

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

c++ - サイズ QMainWindow を 200x100 ピクセル未満に設定できません

現在、qss スタイルシートを使用して QMainWindow のスタイルを設定しようとしています。サイズの設定を除いて、うまく機能します。次のqssパラメーターを使用しています:幅、高さ、最小幅、最小高さ。スタイルシート ファイルの max-width、max-height。残念ながら、私が何をしても、ウィンドウを 200x100 ピクセル未満にすることはできません。qss ファイルを使用して完全にスタイルを設定したいため、geometry、sizePolicy、minimumSize、 maximumSize などの UI フォーム プロパティは定義されていません。ヒントをいただければ幸いです:-)

0 投票する
0 に答える
1150 参照

pyqt - フルスクリーン Pyqt の中央ウィジェット

多くのドックウィジェット、ツールバー、およびメニューバーを含むメインウィンドウがあります。ドックウィジェットとツールバーの可視性を切り替えることはできますが、メニューバーはできません。以下のコードが機能しないのはなぜですか? メニューバーを非表示にすることで、QMainWindow の中央のウィジェットのみを PyQt のフルスクリーンとして表示することは可能ですか?

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

c++ - QDockWidgetを移動できません

QDockWidgetsに入れることを目的として、いくつかを含むウィジェットを作成したいと思いますQMainWindow。問題は、 (他の方法がわからない)を使用QDockWidgetsしてQWidgetクラスに追加すると、ドッキングとドッキング解除以外に何もできないことです。私はそれらを動かすことができません、私はそれらを別の場所に置くことができません。layout->addWidget(dockWidget);setLayout(layout)QDockWidgets

QMainWindowがないこの機能addWidgetsがあります。QWidgetすべてを使用することは完璧に機能しますが、オブジェクト(いくつかを含む)をQMainWindowに追加した場合も同じように機能させたいと思います。QWidgetQDockWidgetsQMainWindow

QWidgetそれらを完全にサポートQDockWidgetsし、最大限の可能性(移動、拡大縮小、ドッキング、位置の変更)を使用する可能性はありますか?

ありがとう

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

qt - レイアウトを更新するにはサイズ変更が必要ですか?

で を更新しようとしてQWidgetいますがQMainWindow、実際には でQVBoxLayout満たされたレイアウトを変更するだけですQGroupBoxs

そのため、特定のシグナルが発せられると、そのレイアウトに存在するQMainWindowすべての を非表示にしQWidgetて (削除する前に)、新しいものとshow()それらを作成します。問題は、90% の確率で、QWidgets の新しいリストの方が大きいということです。そのため、更新が完了すると、新しいQWidgetが実際に表示されますが、QMainWindowは古いサイズです! 簡単なサイズ変更 (マウスを使用) によりQMainWindow、適切なサイズにサイズ変更されます。

に適用する機能はありますQWidgetか? そのレイアウトに?上でQMainWindow

それぞれでadjustSize()を試しましたが、うまくいきませんでした