0

主.cpp:

#include "mainwindow.h"
#include "myobject.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.show();

    QThread cThread;
    MyObject cObject;
    cObject.doSetup(cThread);
    cObject.moveToThread(&cThread);
    // cThread.start();

    return a.exec();
}

主窗口.cpp:

#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

void MainWindow::on_pushButton_clicked()
{
    // cThread.start();
}

我正在尝试在 on_pushButton_clicked() 上启动线程。为了做到这一点,我必须通过一个参数将 cThread 传递给 mainwindow,对吧?我只是希望有人确认以确保我做对了。

4

1 回答 1

0

这似乎是一种方法。另一种是将clicked()按钮的信号连接到应用程序中的线程插槽start(Priority),这将更好更短。

于 2013-04-10T20:10:06.543 回答