問題タブ [qt-signals]

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

c++ - 親のメソッドを呼び出す QT / C++ の最良の方法

クラス A のメソッド (write と呼ばれる) を使用してファイル I/O を制御する必要があります。次に、A は、A.write() を呼び出して、ファイルに書き込む必要がある別のクラス B (A に基づいていない) をインスタンス化します。

これを達成するための最良の方法は何ですか?

Class.functionname (A.write) をパラメーターとして B.sometfunction のコールバックに渡す必要がありますか?

A.write スロットを作成し、B がシグナルを送信できるようにする必要がありますか?

より良い方法はありますか?(私は C++ で QT 5 を使用しています)


わかりました。説明に役立つ情報がいくつかあります。A はスレッドのコレクションで、それぞれが TcpSocket (クライアントからのコンソール セッション) です。B は私のロガー クラスであり、シングルトン パターンです。A スレッドはメッセージをファイルに記録しなければならない場合があり、B はそのファイルをフォーマットし、mutex を使用してファイルに書き込みます。これらの同じ (フォーマットされた) メッセージをコンソールに書き込む必要があります (A スレッドごとに一意のソケットであるため、静的メソッドにすることはできません)。したがって、A.something が B.write を (ファイルに対して) 呼び出し、次に B.write が A.write (コンソールに対して) を呼び出す必要があります。

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

c++ - qnetworkaccessmanager をスロットに接続します

今、私はこのコードを持っています:

requester.h

リクエスター.cpp

そして、このエラー:

どうしたの?QObject::connect の代わりに単に connect を使用しようとしましたが、QNetworkAccessmanager をソケットに変換できないというエラーが発生しました。

0 投票する
5 に答える
8622 参照

c++ - Qt で Windows のシャットダウンまたはログオフを検出する方法

Qtで書かれたLinuxアプリをWindowsに移植しています。アプリケーションを閉じる前に、いくつかの設定を保存する必要があります。Linux では、SIGTERM などのシグナル ハンドラーによってそれを行うことができます。Windows で同じことを実装するにはどうすればよいですか。

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

qt - Qt シグナルスロットの混乱

クラスのコンストラクターから内部で初期化されたクラスへのQtシグナルスロット接続を作成する必要があるプロジェクトに取り組んでいます。これは、コードがどのように見えるかです。以下の両方の接続を機能させたいのですが、出力が示唆することから、接続#1のみが機能します。私の質問は、接続#2を機能させる方法です!

クラスA

クラスB

主要

}

出力

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

c++ - ボタンのクリック時に別の ui ファイルを表示

最初の Qt ウィンドウにボタンがあります。ボタンをクリックすると、現在のウィンドウの ui が別の ui ファイルの UI に変更されます。現在、ボタンをクリックすると新しいウィンドウが開きますが、古いウィンドウがまだ開いています。現在のウィンドウの内容を別の内容に置き換える方法はありますか? または、単に別のウィンドウを開いて最初のウィンドウを破棄する方がよいでしょうか?

MainWindow.cpp