如何从按钮运行线程?

时间:2013-04-10 20:07:00

标签: qt

main.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();
}

mainwindow.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,对吧?我只是想让某人确认以确保我做得对。

1 个答案:

答案 0 :(得分:0)

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