-1
我在QT框架中的信號和插槽中有問題。 我的插槽不工作。 這裏是代碼。QT中的信號和插槽
connect(&th,SIGNAL(change()),this,SLOT(closeWindow()));
this->moveToThread(th);
closeWindow();
th.start();
「日」 是這樣的類變種:
class Thread : public QThread
{
public :
Thread();
bool pause,flag;
QString URL;
QFile *mFile;
void run();
void RESUME();
void PAUSE();
bool Check();
bool Check2();
signals:
void change();
QString myTxt;
};
「變」 是信號
,這裏是我的主窗口的代碼:
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
explicit MainWindow(QWidget *parent = 0);
~MainWindow();
Thread th;
private slots:
void on_pushButton_clicked();
private:
Ui::MainWindow *ui;
public slots:
void closeWindow();
};
這裏是MainWindow的構造函數
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
connect(&th,SIGNAL(change()),this,SLOT(closeWindow()));
th.start();
}
信號正常。但插槽不工作。 你能指導我嗎?
我們不能在你的代碼中的信號發射看到(我們甚至看不到*如果*它發出的)。您的第一個片段無法工作:變量th是一個對象,moveToThread將一個指針作爲參數。請提供[MCVE](https://www.google.fr/url?sa=t&rct=j&q=&esrc=s&source=web&cd=1&cad=rja&uact=8&ved=0ahUKEwjt8d_-vJPOAhVPahoKHdeFBPUQFggeMAA&url=http%3A%2F%2Fstackoverflow.com %2Fhelp%2Fmcve與USG = AFQjCNEkKReghNZHBJSaky_hwPskMmG0ww&SIG2 = qJFt1v76F13Ikk_8pOIvMQ) – wasthishelpful
我發送的信號,現在你@wasthishelpful – sass
時是發出它的信號的工作(我的測試,並寫一些代碼到它,並且他們跑酷)@wasthishelpful – sass