問題タブ [qdialog]

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 投票する
2 に答える
3187 参照

python - MouseMoveEventを使用してフレームレスQDialogを移動する

そのため、フレームのないQDialogがあり、クリックしてドラッグするだけで移動できるようにしたいと考えています。以下のコードを考えると、ダイアログをドラッグすると、常にダイアログの左上(0,0)がマウスにスナップします。どのように私はこれを回避することができますか、あるいはむしろ、それのための数学は何でしょうか?

次の基本サブクラスを持つ標準QDialog:

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

c++ - Qtで、ダイアログのサイズを変更できないようにするにはどうすればよいですか?

uic によって生成されたコードを使用してウィジェットによって設定された QDialog のインスタンスがあります。ダイアログには垂直に配置されたいくつかのラベルが含まれており、これらのラベルにテキストを表示するために時々ダイアログをポップしています。テキストは複数行にすることができ、その長さは事前に決定されていません。垂直サイズ ポリシーを固定に設定したため、ユーザーはドラッグできません (意味がありません) が、ラベルの現在のサイズに合わせて表示される前に、ダイアログのサイズを変更することも必要です。

この目的のために、表示する前に QDialog で QWidget::adjustSize() を呼び出していましたが、期待どおりに動作しません。ダイアログが表示されると、以前の表示からの (間違った) サイズが保持されているように見えますが、(無効な) 垂直方向のサイズ変更モードでマウスをクリックすると、ダイアログが突然 (正しい) 調整されたサイズに「スナップ」します。

ダイアログを正しく表示する方法はありますか?

編集:私は rubenvb のアドバイスを結び、これで終わった:

残念ながら、それは何も変わっていないようでした。

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

c++ - Qt: QDialog StatusBar の実装方法

私はQDialogそれを使って大きく設計されQDesignerています.Webで見たのは、次のQStatusBarようなコードで追加できることです:

私の場合でも機能していません..QDialogウィジェットを保持するレイヤーがすでにほとんどない可能性があります。

私の質問は、クラスでプレースホルダーを使用する方法や、クラスQDesignerを保持するウィジェットを何らかの形で促進する方法はありますか? QStatusbarわかりません…</p>

このような場合、どうすればよいですか?new を実装できQStatusbarますか?

ありがとう

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

c++ - Qtダイアログ関数からaccept()とreject()をトリガーするにはどうすればよいですか?

main.cppQDialogファイルからウィンドウを開き、の成功または失敗に基づいてメソッドが戻るのを待つという状況があります。このような :exec()QDialog

Qtの例(名簿)から、スロットaccept()reject()スロットを使用できることがわかりました。問題は、[OK] / [閉じる]ボタンではなく、いくつかの関数フローに基づいてウィンドウを閉じるのが好きなことです。これらのスロットを関数からトリガーするにはどうすればよいですか?。

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

c++ - QDialog に QMenuBar を追加しましたが、サブメニューは表示されません。

Designer で設定されたレイアウトを使用して QDialog に QMenuBar を追加し、QMenuBar を手動で追加すると、アプリケーションを実行して QDialog を実行すると、サブメニューを開くことなくメニュー ヘッダーのみを含む QMenuBar が表示されます: これが
私のコードです:
これはDesigner から生成されたヘッダー ファイル:

ここに QDialog コンストラクターがあり、QMenuBAr を構築している部分です。

サブメニューが表示されないのはなぜですか? 閉じる & 設定?

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

c++ - show() を使用して QDialog のインスタンスを 1 つだけ開き、QDialog を閉じるとオブジェクトが削除されます。

Qt では、アイテムをクリックするたびに QDialog ウィンドウを開き、 new でそれを実行しています。クリックしたアイテムごとに QDialog のインスタンスを 1 つだけ開いていることを確認したいのです。

GroupDialogContainer のある種のハッシュまたはベクトルを保持する必要がありますか? また、私の2番目の質問は、QDialogウィンドウをclose()で閉じるたびに、それを開く責任があったオブジェクトpGroupDialogContainerが破棄されますか?または、QDIalog が閉じたことを検出したときに削除する必要がありますか?

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

qt - QtのカスタムQDialog

「yes」および「no」オプションを使用してqdialogを作成し、「no」ボタンオプションをデフォルトに設定します。これまでのところ、「いいえ」ボタンをデフォルトにしましたが、キーボードのタブまたはShift +タブまたは左矢印を押しても、「はい」ボタンに移動しません。ファイルの保存中にウィンドウに(同じ名前のファイルを置き換えるファイルの)ダイアログウィンドウが表示されるのと同じように表示したい。どんな助けでも大歓迎です。ありがとうございました...

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

qt - QDialog::accept はメイン アプリケーションを終了します

特定の会話状態にあるClientSocketクラスがありTcpSocket、ユーザーに通信パスワードの入力を求める必要があります。だから私は Dialog を作成しましたDG::ChallangeDialogDG::ChallangeDialog私は

acceptedSlot再び信号を発するchallanged(QString)

ClientSocket私がする

ClientSocket::challange スロットでは、ソケットを介してMessage challange (テキスト) を送信し、パスワードを保存します。


ダイアログがそこに隠れて、通常のソケットの会話が続くことを期待しています。ダイアログが承認または拒否された後、メイン アプリケーションは終了します (終了してもクラッシュしません)。なんで ?

  • 私のアプリケーションにはその他のウィジェットがありません。私は QCoreApplication のように動作します。しかし、まだGUIが必要なため、QApplicationを使用しています。
0 投票する
1 に答える
593 参照

qt - move()を呼び出すときにQt QDialogが途切れる

Qt でポップアップ テキスト エディターを作成しようとしています。私が抱えている問題は、ダイアログをボーダレスにしているため、自分で move() 関数を呼び出さなければならないことです。これは、私が理解したいいくつかの奇妙な動作を引き起こしています。次のシナリオに気付きました。

  1. テキストエディタなしでボックスを作成すれば、移動は問題ありません。途切れ途切れになるのは、エディターを追加したときだけです。
  2. (コンストラクターで Qt::Popup フラグを使用する代わりに) 通常のダイアログにすると、エディターの有無にかかわらず動きがうまくいきます。

デモ用のコードを次に示します。

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

qt - QMessageBox ブロック QDialog

今回は質問の仕方がよくわかりません…

QDialog をメイン ウィンドウとして使用するアプリケーションがあります。アプリケーションは、リモート マシンから温度、湿度などのさまざまな値を取得しています。

開発のために、これらの値をシミュレートするために、さまざまなウィジェットを含むグループ ボックスを追加しました。ユーザーへの警告とアラームのスローにはさまざまな制限があります。

たとえば、温度が 30°C を超えた場合は、要求時間 (アプリケーションがリモート マシンでポーリングを行う) と現在の温度で QMessageBox を開きます。したがって、これはリクエスト サイクルごとに更新されます。

show() メソッドを使用して、アプリケーションをバックグラウンドで実行し続けるメッセージ ボックスを表示します。現在の問題は次のとおりです。フォーカスがメッセージ ボックスにあり、メイン ウィンドウには何もありません。メッセージ ボックスが受け入れられないか終了するまで、QDialog をクリックすることはできません。

それが私の問題です。シミュレーション モードでは、メイン ウィンドウのスライダーで調整できるさまざまな温度値を試してみたいと思います。これらのウィジェットにアクセスするにはどうすればよいですか / メッセージボックスを何らかの方法で「ブロックしない」ようにしますか?

よろしくお願いします、

マティアス