問題タブ [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 投票する
1 に答える
359 参照

c++ - Qt、多重継承、ラッパー、またはイベントフィルター

MDIまたはQDockwidgetベースのアプリに埋め込む必要のあるQGlWidgetベースの表示ウィジェットがいくつかあります。ただし、表示ウィジェットでMDI / Dock固有のイベント(最小化/ドックなど)の一部を処理する必要があります

オプションは次
のとおりです。QGlWidgetおよびQMdiSubWindow/QDockWidgetから表示ウィジェットを乗算継承します。乗算継承とシグナル/スロットに関する問題はありますか?

ディスプレイをQMdiSubWindow/QDock派生ウィジェット内にカプセル化しますが、ディスプレイのすべての外部関数をMdi/Dockラッパーウィジェットでラップする必要があります。

新しいウィンドウを作成するときは、一時的なMdi / Dockウィジェットを作成し、ディスプレイを接続して表示する前に、すべての特殊信号をディスプレイのスロットに接続します。ただし、これはイベントでは機能しません。

QGlWidgetでQMdiSubWindow/QDockWidget固有のシグナルを受信できるQSignalMapperの魔法

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

qt - クラスの1つが削除されると、Qtのシグナルは自動的に切断されますか

サイドの1つが削除されたときに、Qtはオブジェクト間の接続を自動的に削除しますか?

たとえばconnect (A .. , B ..)、A (ポインター) が削除された場合、または B が削除された場合、接続は切断されますか?

デストラクタで明示的に disconnect を使用する必要がありますか?

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

qt - QTableWidgetのcellClickedシグナルが機能しない

アプリケーションにQTableWidgetがあり、cellClicked(int、int)シグナルをスロットに接続しました。ただし、セルがクリックされても、スロット内のこのコードはまったく呼び出されません。これを解決する方法を教えてください。これは私のコードです:

ありがとう、Rakesh。

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

qt - Qt:シグナルの戻り値は機能しますが、公式ドキュメントで不可能/禁止されているのはなぜですか?

Qtのドキュメントによると、シグナルの戻り値は不可能です。

シグナルはmocによって自動的に生成されるため、.cppファイルに実装しないでください。リターンタイプを持つことはできません(つまり、voidを使用します)。

関連するSOの質問:

  1. Qtシグナルは値を返すことができますか?
  2. Qt:スロットの戻り値の意味は?

ただし、私の試行(Qt 4.8.1)から、戻り値が機能することがわかります。

  1. 信号/スロットが同じスレッドにある場合、ConnectionTypeは次のようになります。Qt::AutoConnection
  2. 異なるスレッドの信号/スロットで使用する必要があります Qt::BlockingQueuedConnection

だから私のコードでは、私はシグナルを呼び出します

信号mocは、を返しますQString

これは、それが戻るスロットモックですQString

これらはすべて非常に簡単なようですが、なぜこのドキュメントとの矛盾があるのでしょうか。戻り値を使用する場合の問題はどこにありますか?言ったように、私のコードではこれはうまくいくようです。

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

c++ - Object::connect: obj が shared_ptr として返される場合、そのようなシグナルはありません

Qt のシグナルとスロットを使用すると、エラーが発生します。

私の他connectのものは正常に動作し、考えられるすべてをチェックしました(Qtシグナルとスロットをデバッグする20の方法も参照)。shared_ptr個人的にforはこのサンプルで初めて使用するのでQt、使い方に問題があるのではないかと思いますshared_ptr。ご意見をお待ちしております。


コンクリートFvOverlay.cpp


このオーバーレイは、abstractFvOverlay.cpp でインスタンス化されます。


オーバーレイ.h

ご参考までに、ここで使用する理由は、shared_ptrインターフェースベースのプログラミングを行いたいからです (これがこのスタイルを呼び出す公式の方法であるかどうかはわかりませんが、私が意味するのは、抽象クラスで動作を定義し、それらを説明するいくつかの動作に対してのみです。 Java が許可する具象クラス)。

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

c++ - 新しい SIGNAL を持つ QEditLine のサブクラス

オブジェクト識別子を送信する新しいシグナルを定義できるように、QEditLine をサブクラス化しようとしています。現時点では、親シグナルを新しいクラスのスロットに接続し、そのスロットから追加のオブジェクト識別子を使用して適切な新しいシグナルを発信します。一つ理解できません。問題は、新しいシグナル関数自体を定義する方法がわからないことです。そこに何を入れたらいいのかわからない。つまり、その引数は知っていますが、関数として何をすべきかわかりません。私はこれを初めてやっているので、非常にばかげているように見えるかもしれません ;p でも、私は本当にそこに行き詰まりました >.<. 誰か手がかりを教えてください。おそらくとても簡単な問題です。

ありがとう

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

qt - 形状変更ダイアログボックス

形状を変更するダイアログ ボックスを使用しようとしていました。つまり、ボタンをクリックすると、ダイアログ ボックスのサイズが大きくなり、詳細が追加されます。そのために、ボタンに次のコードを書きました。

しかし、私のダイアログボックスには何の変化もありません。この場合、どうすればよいでしょうか。

hide() 関数を使用してグリッドに配置することで、余分な詳細を非表示にしました。余分な詳細は隠されていますが、ウィジェットのサイズは変更されていません。

解決策を教えてください

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

qt - QMLシグナルが2回実行されました

私はQMLとQML信号に不慣れで、自分では解決できないというこのばかげた問題を抱えています。シグナルをトリガーしてonTouch2回実行しているため、アプリがクラッシュする二重応答が生成されます。

これが私のQMLコードです:

//LabelKey.qml

私はこれを持っており、TextFieldそのIDはtextFieldKey上記の投稿を含む別のQMLにあります。主なアイデアは単純で、各キーが上記のコードのコンポーネントであり、これで押されたキーの値を出力する必要があるキーボードTextFieldです。

問題は、私が言ったように、シグナルが2回呼び出され、TextField毎回値の2つの文字でいっぱいになることです。

信号の適切な使用方法などで何かが足りないのかどうかわからないので、助けてください。

ありがとう!

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

c++ - (Qt)QTextEditウィジェットのテキストがQTabWidgetから変更されたかどうかを確認する方法

QTextEditウィジェットを管理するQMainWindowを親とするQTabWidgetがあります。

タブの1つでコンテンツがいつ変更されたか、どのタブで変更されたかを知りたいのですが。私は解決策をグーグルで検索しようとしてきましたが、コードの行が何度も変更され、クラスのアーキテクチャが変更されました。

私の最後の試みは:

ただし、スロット「marquerChangement()」は呼び出されません。何か案は?

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

c++ - 子プロセスがクラッシュした場合、QProcess :: finishは発行されますか?

ドキュメントにはerror()、子プロセスがクラッシュした場合にシグナルが発行finished()されると記載されていますが、同様に発行されるのでしょうか、それとも正常に終了した場合にのみ発行されるのでしょうか。