これはなぜ機能しませんか? クラスはQObjectから継承します bはクラスの子です。 barはFooの子です。 void Class::method(Foo& b) {
Bar* bar = b.getBar();
QObject::connect(bar, &Bar::s1, [&]{
auto x = bar->x(); // this line throw
次のポストによれば、現在実行中のスロットが完了すると、放出された信号が提供される。 Wait for a SLOT to finish the execution with Qt 私は、スレッド化されたsslソケットに基づくクライアント - サーバ通信アプリケーションを持っています。 connect(socket, &QSslSocket::readyRead, [&]() { myObject.
私はQt 5.9を使用しています。 私は2つ以上のアンダースコアで名前を付けると、特にアンダースコアスタイルのスロットを宣言する際に問題が発生しました。たとえば、void on_stop_treatment()スロットの場合、接続しなくてもQMetaObject::connectSlotsByName: No matching signal for on_stop_treatment()となります