0
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,对吧?我只是想要有人确认,确保我做对了。
问题是,如果我这样做,那么用户可能能够启动多个线程(我有一个if语句来检查一个alreadyStarted布尔值)。有任何想法吗? – user2267771 2013-04-10 20:11:40
然后你的第一个方法是正确的。无论如何,如果它是二进制状态,你可以使用checkbutton来摆脱你的支票。 – Adrian 2013-04-10 20:13:36
通过checkbutton,你的意思是复选框?或者你的意思是以某种方式点击时禁用按钮? – user2267771 2013-04-10 20:15:22