問題タブ [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.
c++ - QWidget の Qt の SLOT() に関数をプログラムすることは可能ですか、または QSignalMapper を使用する必要がありますか?
私の Qt アプリケーションでは、QVBoxLayouts で「アンケート」の「質問」を動的に作成しています。質問には、ブール、テキスト、ラジオの 3 種類があります。
ユーザーがアンケートに「質問を追加」すると、QComboBox が表示されます。この QComboBox のインデックス/テキストが編集されると、発行された SIGNAL に基づいて行動したいと思います。
私は(古いAndroidプロジェクトから)Javaのようなものが欲しいです:
次のように Qt/C++ で同じものを使用することは可能ですか?
ここの別の投稿から、理想的なアプローチはQSignalMapperであると理解していますが、上記と同様の方法でタスクを実行することを望んでいました。
通常、私はここまたは関連するGoogle検索から答えを見つけます(これの名前がわからないので、おそらく間違ったものを検索しています)。ありがとう
c++ - シリアル ポートでバイトを受信したときに信号を送信する
ブースト ライブラリを使用して、C++ でシグナルとスロットを接続しようとしています。私のコードは現在、ファイルを開き、そこからデータを読み取ります。ただし、シリアルポートを使用してリアルタイムでデータを読み取って分析できるように、コードを改善しようとしています。私がやりたいことは、シリアルポートでデータが利用可能になったときにのみ分析関数を呼び出すことです。
どうすればこれを行うことができますか?以前に Qt で実行したことがありますが、このコードは moc ツールを使用していないため、Qt でシグナルとスロットを使用できません。
c++ - C++/Qt - あるスレッドから別のスレッド スロットへのシグナル
で動作するクライアントをセットアップしていますQTcpSocket
。サーバーへの接続を設定する部分をスレッドとして実装します。
これは、接続関数 (.hpp) を実装する私のクラスの外観です。
そして、これが私がこのクラス (.cpp) を実装した方法です。
次の方法でスレッドを開始します。
プログラムをテストすると、コネクタが正しく作成されます。彼は関数 transformIP() および connectToServer() を開始します。現在、サーバーを実行していないため、クライアントは接続できません。これにより、connectionFailed() シグナルが発行されます。コネクタ オブジェクトでスレッドを開始するクライアント クラスは、このシグナルを受信し、それに反応する必要があります。
問題は、クライアント クラスがシグナルに反応しないため、シグナルが発信されていないように見えることです。これはクライアントクラスの一部で、信号を特定のスロットに接続します:
誰かがこれを解決する方法を知っていれば、素晴らしいでしょう、ありがとう:)
qt - Qt プログラムで実際の時間を表示する
MainWindow
のタイトルに実際の時刻 (Hh: mm: ss) を表示する簡単な方法は何ですか? スロットとシグナル技術の使用。
qt - QtCreatorフォームから作成されたlistViewでleaveEventを使用するには?
QListView
マウスが( )のスペースを離れたときに、関数 (またはスロット) を呼び出そうとしていますtableView
。通常は、関数を使用できますleaveEvent()
。たとえば、私は書くことができます
これは意図したとおりに機能します。マウスがMainWindow
ウィジェットから離れると、アプリケーションは終了します。しかし、マウスがウィジェットQListView
の内側にあるオブジェクトから離れたときにアプリケーションを終了したい場合はどうすればよいでしょうか?MainWindow
QListView
Qt Creator のフォーム デザイナー内で作成されたときに、この関数を再実装するにはどうすればよいですか?
これが私が(失敗して)試したことです:
以下ではleaveEvent()
、信号として使用しようとしましたleaveEvent
が、未定義と表示されています (イベントをSIGNAL
s として使用することもできますか?)
tableView
基本的に、マウスがQt Creatorのフォームデザイナーで作成されたものを離れたときに、いくつかの関数を呼び出そうとしています。QListView
クラスには があるようですが、ありmouseEntered()
SIGNAL
ませんmouseLeave()
SIGNAL
。
pyqt - ユーザー定義のシグナル/スロットを処理するときの PyQt と Qt の違い
私は Qt に精通していますが、PyQt を使用する場合、signal/slot の構文に非常に戸惑いました。C++/Qt を使用している場合、コンパイラはシグナル/スロットのどこが間違っているかのヒントを提供しますが、PyQt の既定の構成ではエラーに関するヒントは提供されません。PyQtがより多くの情報を表示できるようにするデバッグトリガーモードなどの方法はありますか? コードは次のとおりです。
C++ では、QObject::connect の戻り値は、シグナル/スロット バインディングが成功したかどうかを示します。PyQt では、戻り値は True ですが、スロットをトリガーしません。私の質問: 1) シグナルはクラス メンバーまたはインスタンス メンバーである必要がありますか? 2) QObject.connect の戻り値がバインディングのヒントを与えることができない場合、それを検出する他の方法はありますか? シグナル送信者とスロット受信者の外側にシグナル/スロットをバインドしたいので、 QObject.connect の方法を使用することをお勧めします。しかし、これを正しく書くにはどうすればよいですか。次の方法を試しましたが、どちらも失敗しました。
c++ - How to emit signal through a few class objects in Qt?
I have a few classes: Class A - highest class, Class B and Class C which are initialized in Class A constructor. In Class B constructor is initialized Class B1 and in Class C constructor is initialized Class C1. C1 object and B1 object does not see each other.
Every time I need to send signal from C1 class to B1 class, I connecting C1 and C, C and B, finally, B and B1. So every time my programm emitting a signal in C1 class object, it is sending to C class object then to B and then to B1. (On image) Is it a right Qt Way? Or there is a better way to do that?
python - PySide Signal は Python クラスをオーバーロードできません
PySide は次のように主張していSignals can be defined using the QtCore.Signal() class. Python types and C types can be passed as parameters to it. If you need to overload it just pass the types as tuples or lists
ます。PySide Doc Signals and Slots in PySideから、一度に複数のシグナルを作成する方法を示しました。その行は次のとおりです。
私は少し遠くまで行って、次のようなものを作成しました(学習目的で):
A
とB
は、私が作成した 2 つの異なるダミーの新しいスタイル クラスです。次に、実際に作成された信号の数を出力して調査しました。
そして、私はこれらを手に入れました:
観察: tuple
、list
、Exception
および私のカスタムA
でB
、同じ信号を取得しました。タプルとリストは少し一般的であり、PySide でオーバーロードするために使用されることを知っています。しかし、なぜ私のA
とB
も同じ信号を受け取るのでしょうか? のような本当にプリミティブな型だけのように見えint
、float
Pythonstr
では新しいシグナルを取得します。
誰でもこの奇妙な動作を説明できますか?
よろしくお願いします!
[アップデート]
実際の PySide プロジェクトで問題が発生したときに、上記の調査を行いました。実際のバージョンを次のように単純化しました。
印刷されます:
sayAA is good
からのみ印刷されると思っていました。
qt - ウィジェット変数をスロットに渡す方法は?
私は QT の初心者で、2 つの QPushButton と 2 つの QTextEdit を持つ GUI アプリを作成しています。ボタン1がクリックされたとき、QTextEdit 1だけが何かを表示したい、ボタン2がクリックされたとき、QTextEdit 2だけが何かを表示したい、以下は私のコードですが、パラメータを渡すことができないように見えるので動作しませんスロットメソッド....
これを機能させる同様の方法があるかどうか疑問に思っていますか?ご回答ありがとうございます。