問題タブ [slot]

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

qt - qt connectの信号からスロットへの引数としてqobjectを渡す方法

元のコードでは、QStringList をシグナルからスロットに渡し、QList を返しました。すべてうまくいきましたが、QStringList と QList の両方を 2 つの異なるサブクラス化された QObject に変更する必要がありました。それ以来、「ここで最初に合成されたメソッドが必要です」などのエラーを受け取ったり、エラーメッセージなしで単にクラッシュしたりしています。

qt はキュー接続で渡されたすべての引数をコピーし、qobject はコピーできないことを理解しています。したがって、qobject を返す代わりに、シグナルを発信する前に両方の qobjects を作成すると考えました。次に、各オブジェクトへの参照を渡し、そのうちの 1 つをスロット関数で変更して、戻り値を無効にします。残念ながら、シグナルとスロット関数をどのようにコーディングしても、アプリは依然としてクラッシュします。シグナル/スロット関数をコーディングしてそれらを接続し、両方の qobject を引数として渡すか、qobject を返すにはどうすればよいですか?

receiveSignal() 関数は、qobject を直接作成または変更しません。最初にqobjectsを別の関数に渡す必要があり、次にobj2を変更するか、それを作成して返します。コード例は大歓迎です。

0 投票する
3 に答える
979 参照

c++ - 戻り値を持つシグナル/スロットが機能しない

Qt でシグナル スロットを作成したところ、作成した接続に関するエラーや警告なしでプログラムが実行されます。問題は、シグナルスロットを使用したい場合、常に NULL を返すことです。

メイン.cpp

ゲーム.h

ゲーム.cpp

スクラブル.h

Scrabble.cpp で使用するint turn = emit getTurn();と、ターンが 1 ではなく 0 になります。誰かが私が間違っていることを知っていますか?

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

qt - Unable to connect signal to slot in another class

I have 2 classes. Class A and Class B. I am emitting a signal from class A which I want the B to recieve.

I am doing it following way

In Listener File

Implementation File:

In Class A

Header File:

.cpp File

In Class B

I tried debugging. It is going till emit part correctly. However it is not reaching the slot. Can someone please help me with this. Thank You.

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

qt - QT 更新値シグナル/スロットのベスト プラクティス

クラスのメンバー値を更新するためのシグナル/スロット相互作用を設計するためのベストプラクティスは何だと思いますか?

たとえば、UI に表示されるメンバー変数を考えてみましょう。ユーザーが UI で値を変更します。メンバー変数の更新関数を介してメンバー変数を自動的に更新するために、シグナル/スロットの関係が存在します。

また、メンバー変数への変更が UI で自動的に更新されるようにしたいので、シグナル/スロットの関係が逆になります。更新関数を介してメンバー変数を更新すると、シグナルが UI の更新をトリガーします。

これらが循環するのをどのように防ぎますか?メンバー変数の更新関数が呼び出されたときに現在の値に対して新しい値をチェックし、違いがある場合にのみシグナルを送信して UI を更新するのと同じくらい簡単ですか?

または...これを行うよりエレガントな方法はありますか?

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

qt - Qt PushButton シグナルとスロット

私はQtの初心者です。とにかく、ボタンが押されると、シグナルとスロットを使用してウィジェットを表示しようとしています。ウィジェットを作成し、connect() はすべて完了しましたが、SLOT() には何を入れればよいでしょうか? 私はショー(ウィジェット)を試してみましたが、正直なところ、そこに何を入れればいいのかわかりません。

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

qt - Qtで許可されているパラメーターが少ないスロットに信号を接続しますか?

呼び出すことは有効ですか

パラメータなし?動作しているように見えますが (実行時例外はスローされません)、ドキュメントに参照が見つかりません。私が見つけたのは、 someslot にデフォルトのパラメーターがある場合にこれが可能であるということだけです。この場合有効です。しかし、私のメソッド someslot には、デフォルトと同じパラメーターセットがありません (この例ではパラメーターはありません)。

では、より少ないパラメータでスロットに信号を配線することは可能でしょうか?

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

c++ - Qt C++ カスタム スロット

Qt でのカスタム スロットの作成に問題があります。コード:

class.h ファイル:

main.cpp ファイル:

load が認識されたメンバーではないというメッセージが表示されます。何を変更する必要がありますか?

編集: 完全な webview.h ファイルは次のとおりです。

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

qt - Qtは信号をスロットに接続します

QSplitter ウィジェット (他のウィジェットの中でも) を含むメイン ウィンドウ クラスがあります。このスプリッターのコンテンツは、別のクラスにあるウィジェットによって取り込まれます。

この他の Widgwt 内には、test_btn という QPushButton が追加されたレイアウトがありpublic slots:ます。また、cpp ファイルに対応するコードを持つ test_function というヘッダー ファイルで定義された関数もあります。

次のコードを使用して、この関数を呼び出してみます。

ウィジェットとボタンはアプリケーションで期待どおりに表示されますが、クリックしても何も起こりません。

connectメイン ウィンドウに同じコードを追加すると、機能します (メイン ウィンドウからテスト関数を呼び出す場合)。

から呼び出さない限り、他のクラスからテスト関数を呼び出すことはできませんmain_win_test_function()

メインウィンドウクラスではそれがなくても機能し、コンパイル時にエラーは発生しませんが、接続ステートメントから「レシーバーウィジェット」が欠落していることはわかっています。

で親または何かを定義する必要がありますother_classか?

main_window.cpp:

other_class.cpp:

main.cpp:

上で述べたように、ウィンドウが作成され、ウィジェットが表示される限り、これはすべて正常に機能しますが、ボタンをクリックしても test_function は呼び出されません。ヘッダー ファイルも含める必要がある場合はお知らせください。