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, чтобы проверить наличие уже начатого логического). Есть идеи? – user2267771
Тогда ваш первый подход правильный. В любом случае, если это двоичное состояние, вы можете использовать checkbutton, чтобы избавиться от проверки. – Adrian
С помощью checkbutton вы имеете в виду флажок? Или вы хотите каким-то образом отключить кнопку при нажатии? – user2267771