問題タブ [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 に答える
6186 参照

qt - QToolBarの位置(固定位置にとどめる方法)

最初は、2 つの QToolBars をそのような方法で表示する必要がありました。それらは 2 つの行にあります。私はこれを通してその問題の解決策を見つけました:

QToolBar が表示される行を設定するには?

私のプログラムでは、最初の行にいくつかの QToolBars があり、それらは移動できます。2 行目には、移動できない (固定されている) 別の QToolBar があります。

私の要件は、2 番目の QToolbar を常に一番下の行にとどめることです。現時点では、上部の QtoolBars が移動すると、それに応じて 2 番目のツールバーの位置が変更されます。

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

qt - QMdiArea で複数のドキュメントを処理するためのベスト プラクティスは?

グラフィック要素などを含むカスタマイズされたファイルを編集できる、一種のグラフィック ソフトウェアを設計および開発する必要があります。

QMdiAreaの中に実際に私の中心的なウィジェットであるのおかげで、ソフトウェアには多くのドキュメントが含まれていると思いQMainWindowます。

ドキュメントごとに、aQGraphicsViewと a の両方が必要になりQGraphicsSceneます。これらは一緒に機能するからです。

ここで、私の質問は、QGraphicsView保護された/プライベート メンバーを独自のに継承する必要があるか、または/のインスタンスQGraphicsSceneを継承して処理するクラスを作成する必要があるかということです。QWidgetQGraphicsViewQGraphicsScene

それとも、私が考えていなかった解決策が残っていますか?

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

qt - ウィンドウを表示しようとしたときのQtエラーセグメンテーション違反

ClientWindowクラスがあります。私はそれのいくつかのインスタンスを作成し、それらのポインターをリストに追加しました。ただし、いずれかのウィンドウを表示しようとすると、「セグメンテーション違反(コアダンプ)」が発生します。ウィンドウのリストをコントローラーと呼ばれるクラスに保持します。

これが私のコントローラーヘッダーファイルです:

これはcppファイルです:

これが私のメインです:

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

c++ - QDialogs show() 時に QMainWindow を最小化する

QMainWindowしばらくすると、アプリケーションがmessageDlg->show()( messageDlgis a QDialogobject )を呼び出してメッセージをスローした後、最小化された状態の UI を持つアプリケーションがあります。このようなもの

これにより、QMainWindow発生したくない通常モードになります。つまり、アプリケーションQDialog.show()が呼び出された場合でも、アプリケーションを最小化されたウィンドウに保持しようとしています。

QDialog->show()aが呼び出されるたびに、アプリケーションが最小化モードであるかどうかをチェックし続けたくありません。

に投稿されたすべてのイベントを追跡しましたQMainWindow::event()が、ウィンドウを復元する前に発生した唯一のイベントはQEvent::WindowStateChange、ウィンドウの状態が最小化モードから既に変更されていることです。

QMainWindows が表示されていても最小化を維持する方法はありQDialogますか?

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

qt - Qt::CustomizeWindowHint フラグが設定された QMainWindow がエアロ スナップで動作しない

QMainWindow を使用して Qt::CustomizeWindowHint フラグを使用してウィンドウを作成し、タイトル バーを削除しました。カスタマイズしたウィジェットを使用して新しいタイトル バーを作成し、ウィンドウ移動機能を実装しました。そのため、私のウィンドウ ウィジェットは、移動中のウィンドウで aero-snap を使用すると機能しません。(そして、私のウィンドウはウィンドウのサイズ変更時に aero-snap で動作しません) カスタマイズされたウィジェットで aero スナップを使用するにはどうすればよいですか? それともエアロスナップのアピを知っていますか?Aeroスナップ API に関連する Web ページをいくつか見つけましたが、C# についてのみ説明さ れています。ウィンドウの背後にある画面の状態をプレビューする Aero 機能とは何ですか? C++ で関数を使用するにはどうすればよいですか? ありがとう。

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

qt - 2 QMainWindow 接着 - レイアウトのサイズ

main.cpp でこのように中央に配置するメイン ウィンドウがあります。

この「qmain」メイン ウィンドウで、別の QMainWindow を作成し、2 つのウィンドウをくっつけようとします (言い方がわかりません)。実際には、1 つ目の右上隅を 2 つ目の左上隅に配置したいと考えています。このために、次の Ui_MainWindow のメンバー関数を使用します。

および setInitialDiskMenuPosition :

しかし、問題は、centralwidget のサイズ「parent-> widget->size()」がウィジェットのサイズのみを返し、「qmain」親ウィンドウ全体ではないため、必要なものが正確に得られないことです。以下に示すように、「qmain」ウィンドウの境界が考慮されていないため、ライトシフトがあります。

ここに画像の説明を入力

親ウィンドウ全体のサイズにアクセスできたら...

誰かが私を助けることができれば

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

c++ - 関数実装時のkeyPressedEventエラーQt

キーストロークをキャプチャしようとしている qt プログラムでエラーが発生します。私のqtプログラムのkeyPressedEvent関数では、奇妙なエラーが発生しています:

クラスはqmainwindowを拡張します

ここに私のヘッダーファイルがあります:

ここに私のcppファイルがあります:

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

qt - Qt - シグナル/スロットでサブメニューを閉じる

別のウィンドウを呼び出すQtメインウィンドウがあります。実際には、最初のウィンドウのパラメーターを含む一種のサブメニューです。以下は、このメイン ウィンドウの一部です。

ご覧のとおり、別の QMainwindow (" qmenu") を呼び出します。この新しいウィンドウのコードは次のとおりです (タイプは " Ui_DiskGalMenu"):

このサブメニューでパラメータを設定した後、プッシュ ボタン (ここでは " ") で閉じたいと思いますpushButton_4

私の問題は、「pushButton_4」をクリックしても、このウィンドウが閉じないことです。

私も再実装しようとしましcloseEventたが、成功しませんでした。

どんな助けでも素晴らしいでしょう

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

qt - Qt - GLWidget - 2 つの QMainWindow の間でマウスにフォーカスを合わせる

Qt/OpenGL アプリケーションから始めます。QGLWidget の GLWidget サブクラス (" ") を含む最初の QMainWindow がありますwidget_2。この GLWidget は、グラフィック アニメーションをレンダリングします。

この QMainWindow のメニューから、2 番目の QMainWindow を呼び出して、アニメーションのパラメータを設定しますwidget_2

フォーカス以外はすべて正常に動作します。マウスを QWindow から別のウィンドウに移動したときに、マウスに追従するフォーカスを持ちたいと思います。

widget_2->setMouseTracking(true)最初の QMainWindow のコンストラクターで使用しようとしましたが、問題は、マウスをオンにして回転を行うことですwidget_2。そのため、2 番目の QMainWindow から最初の QMainWindow に移動すると、マウスは最初の QMainWindow でうまくキャプチャされますが、左ボタンを押さなくても 3D シーンが自動的に回転します。

私もenterEventこの方法で試しました(Ui_MainWindowは最初のQMainWindowのQObjectです):

で行われた回転widget_2は、別のファイル (GLWidget.cpp) で次のように実装されます。

現在、2 番目の QMainWindow でパラメータをロードしてから最初の QMainWindow に移動すると、左クリックして 3D シーンを回転させ、pushButtons を押せるようにする必要があります。

フォーカスがマウスに追従するようにします。つまり、既に実装されているマウス回転機能と競合することなくwidget_2フォーカスがオンになり、メニュー上にあるときにボタンを押すために 2 回クリックする必要がなくなります。widget_2

どうすれば入手できますか?

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

qt - 異なるネット クラスから呼び出されると、メイン ウィンドウが自動的に閉じるのはなぜですか?

何がいけなかったのかわからないので、ここで質問させてください。以下に定義する BOBSNetworkSessionManager という単純なクラスを作成しました。シグナルとスロットを使用できるように QOBject を継承する単純なクラスですが、ダイアログや関連するウィンドウはありません。最終的にログイン ダイアログが呼び出され、資格情報を使用して、作成した tcp サーバーに接続します。このクラスは、サーバーに接続され、15 分以内に使用された場合にのみ正常に動作するため、プログラムの接続状態を管理する層として機能します。これは pci 準拠のためです。これらの条件が真でない場合、このクラスはウィンドウをロックし、新しいログインを強制します。現時点では、資格情報が渡され、サーバーに接続されているかのように、メインウィンドウを任意に開こうとしています。問題は、メインウィンドウを開くとすぐに消えることです。なぜそれが消えているのか理解できないようです。すべてのファイルを含めました。

BOBSDCNetworkSessionManager .h ヘッダー ファイル


BOBSDCNetworkSessionManager 実装 .cpp ファイル


Main.cpp ファイル