1
  1. 私のプログラムには 1 つのスレッド クラスがあります。
  2. シグナルスロットは両方とも、そのスレッド クラス自体にあります。
  3. ヘッダー ファイルとソース ファイルは別です。
  4. main ()関数はソース ファイル自体にあります。

main ()では、次のようにconnectを使用しています。

MyThread objA;
Object :: connect (&objA, SIGNAL(MySignal()), &objA, SLOT(MySlot())); 

.proファイルは次のとおりです。

######################################################################
# Automatically generated by qmake (2.01a) Thu Dec 1 13:05:43 2011
######################################################################

TEMPLATE = app
TARGET = 
DEPENDPATH += .
INCLUDEPATH += .

# Input
HEADERS += qtWheel.h
SOURCES += qtWheel.cpp

実行時に上記のエラーが発生しました。ガイドしてください。

4

2 に答える 2

3

解決策を見つけました:シグナル関数とスロット関数
パラメーター一致しませんでした! それらを修正するとすぐに、スロットが呼び出されました。

ありがとう: http://samdutton.wordpress.com/2008/10/03/debugging-signals-and-slots-in-qt/

于 2011-12-01T07:50:37.013 に答える
0

MyThread クラスのヘッダー ファイルで、MySignal() と MySlot() をシグナルとスロットとして定義する必要があります。

class MyThread
{
public:
    MyThread();
signals:
    void MySignal();
public slots:
    void MySlot();
}
于 2011-12-01T07:45:38.063 に答える