Qtの2つのウィンドウ間で通信するための最良の方法は何ですか

FrozenHeart

Qtの2つのウィンドウ間で通信するための最良の方法は何ですか?

別のログインウィンドウとメインアプリケーションウィンドウが次々に表示される必要があります(2番目のウィンドウ、つまりメインアプリケーションウィンドウは、ログインが成功した場合にのみ表示されます)。これらの2つのオブジェクト(ログインウィンドウとメインアプリケーションオブジェクト)をメイン関数で作成する必要がありますか、それともログインウィンドウデータをメインアプリケーションクラスのメンバーにして、メインアプリケーションクラスのコンストラクターで作成する必要がありますか?

user3405779

ログインウィンドウをメインアプリケーションクラスのデータメンバーとして作成し、そのコンストラクターで作成できます。次に、メインクラスのlogin_ask()という名前のシグナルをperform_login()という名前のスロットに接続し、その後シグナルを発行することで、loginを呼び出すことができます。

QObject::connect(this,SIGNAL(login_asked()),this,SLOT(perform_login())
                                                ,Qt::QueuedConnection);
emit login_asked();

メインウィンドウをperform_login()スロットで非表示にし、次のようなログインフォームを表示する必要があります。

this->setVisible(false);

loginfm->show();

次のようなシグナルとスロットを使用して、ログインの失敗または成功をメインアプリケーションに通知できます。

QObject::connect(loginfm,SIGNAL(login_accepted()),this,SLOT(entered()));
QObject::connect(loginfm,SIGNAL(login_canceled()),this,SLOT(canceled()));

メインウィンドウのentered()スロットに、メインウィンドウを表示する必要があります。

this->setVisible(true);

このように、login_asked()シグナルを発行するだけで、アプリケーションのライフサイクル中に必要な数だけログインを呼び出すことができます。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

ウィンドウのすべてのUI要素を取得するための最良の方法は何ですか?

分類Dev

2つのオプションウィンドウを作成するための最良の方法は何ですか?

分類Dev

Pygameウィンドウを再描画するための最良の方法は何ですか?

分類Dev

PyQtで、メインウィンドウとスレッド間でデータを共有するための最良の方法は何ですか

分類Dev

doGetメソッドとJSPページの間で通信するための最良の方法は何ですか?

分類Dev

親ウィンドウに対するコントロールの位置を見つけるための最良の方法はどれですか?

分類Dev

anglejsとmvc5の間で通信するための最良の方法は何ですか?

分類Dev

Webクライアントまたはミドルウェアによって、vertxのマイクロサービス間で通信するための最良の方法は何ですか?

分類Dev

カウントダウンタイマーを作るための最良の方法は何ですか?

分類Dev

Adobe flexがJavaと通信するための最良の方法は何ですか?

分類Dev

Yii2でウィザードフォームを実行するための最良の方法は何ですか?

分類Dev

UIViewにドロップシャドウを追加するための最良の方法は何ですか

分類Dev

numpy配列をダウンサンプリングするための最良の方法は何ですか?

分類Dev

2人のユーザーのブラウザが相互に通信できるようにするための最良のアプローチは何ですか

分類Dev

2つのCultureInfoインスタンスを比較するための最良の方法は何ですか?

分類Dev

ウィンドウが完全にロードされるためのsetTimeoutの最良の代替品は何ですか?

分類Dev

UITableViewCellとUIViewControllerの間で通信するための最良の方法

分類Dev

バックグラウンドで何かをするための最良の方法Django

分類Dev

QTのウィジェットに色付きの境界線を追加する最良の方法は何ですか

分類Dev

WordPressとSQLクエリの間にミドルウェアを注入するための最良の方法は何ですか

分類Dev

ノードで次の7日間の名前を取得するための最良の方法は何ですか?

分類Dev

他のレイアウトのリストを使用してコーディングするための最良の方法は何ですか?

分類Dev

xamppでサブドメインを作成するための最良かつ簡単な方法は何ですか

分類Dev

ドライブをパーティション分割するための最良の方法は何ですか?

分類Dev

1行のコードの実行時間を取得するための最良の方法は何ですか?

分類Dev

Reactjsのコンポーネント間で相互作用するための最良の方法は何ですか?

分類Dev

労働時間から利用可能な時間を見つけるための最良の方法は何ですか

分類Dev

モバイルサイト用のダウンロード可能なストアカードを作成するための最良の方法は何ですか?

分類Dev

ユーザーアカウントのアクティブ化を実装するための最良の方法は何ですか?

Related 関連記事

  1. 1

    ウィンドウのすべてのUI要素を取得するための最良の方法は何ですか?

  2. 2

    2つのオプションウィンドウを作成するための最良の方法は何ですか?

  3. 3

    Pygameウィンドウを再描画するための最良の方法は何ですか?

  4. 4

    PyQtで、メインウィンドウとスレッド間でデータを共有するための最良の方法は何ですか

  5. 5

    doGetメソッドとJSPページの間で通信するための最良の方法は何ですか?

  6. 6

    親ウィンドウに対するコントロールの位置を見つけるための最良の方法はどれですか?

  7. 7

    anglejsとmvc5の間で通信するための最良の方法は何ですか?

  8. 8

    Webクライアントまたはミドルウェアによって、vertxのマイクロサービス間で通信するための最良の方法は何ですか?

  9. 9

    カウントダウンタイマーを作るための最良の方法は何ですか?

  10. 10

    Adobe flexがJavaと通信するための最良の方法は何ですか?

  11. 11

    Yii2でウィザードフォームを実行するための最良の方法は何ですか?

  12. 12

    UIViewにドロップシャドウを追加するための最良の方法は何ですか

  13. 13

    numpy配列をダウンサンプリングするための最良の方法は何ですか?

  14. 14

    2人のユーザーのブラウザが相互に通信できるようにするための最良のアプローチは何ですか

  15. 15

    2つのCultureInfoインスタンスを比較するための最良の方法は何ですか?

  16. 16

    ウィンドウが完全にロードされるためのsetTimeoutの最良の代替品は何ですか?

  17. 17

    UITableViewCellとUIViewControllerの間で通信するための最良の方法

  18. 18

    バックグラウンドで何かをするための最良の方法Django

  19. 19

    QTのウィジェットに色付きの境界線を追加する最良の方法は何ですか

  20. 20

    WordPressとSQLクエリの間にミドルウェアを注入するための最良の方法は何ですか

  21. 21

    ノードで次の7日間の名前を取得するための最良の方法は何ですか?

  22. 22

    他のレイアウトのリストを使用してコーディングするための最良の方法は何ですか?

  23. 23

    xamppでサブドメインを作成するための最良かつ簡単な方法は何ですか

  24. 24

    ドライブをパーティション分割するための最良の方法は何ですか?

  25. 25

    1行のコードの実行時間を取得するための最良の方法は何ですか?

  26. 26

    Reactjsのコンポーネント間で相互作用するための最良の方法は何ですか?

  27. 27

    労働時間から利用可能な時間を見つけるための最良の方法は何ですか

  28. 28

    モバイルサイト用のダウンロード可能なストアカードを作成するための最良の方法は何ですか?

  29. 29

    ユーザーアカウントのアクティブ化を実装するための最良の方法は何ですか?

ホットタグ

アーカイブ