Frage

  1. Mein Programm hat eine Thread -Klasse.
  2. Das Signal und die Slot Beide sind in dieser Thread -Klasse selbst.
  3. Die Header -Datei und die Quelldatei sind getrennt.
  4. hauptsächlich () Die Funktion befindet sich in der Quelldatei selbst.

Im hauptsächlich (), Ich benutze verbinden folgendermaßen:

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

.Profi Datei ist:

######################################################################
# 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

Ich habe den obigen Fehler während der Laufzeit gesehen. Bitte führen Sie Leitfaden.

War es hilfreich?

Lösung

Ich habe die Lösung gefunden:
Das Parameter von Signal und Slot Funktionen waren Nichtübereinstimmung! Sobald ich sie reparierte, wurde der Slot angerufen.

Dank an: http://samdutton.wordpress.com/2008/10/03/debuggging-signals-slots-in-qt/

Andere Tipps

Sie müssen die mySignal () und myslot () als Signal & Slot in der Header -Datei Ihrer MyThread -Klasse definieren:

class MyThread
{
public:
    MyThread();
signals:
    void MySignal();
public slots:
    void MySlot();
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top