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

メインウィンドウ.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

これはそれを行う1つの方法のようです。もう1つはclicked()、ボタンの信号をアプリケーションのスレッドのスロットstart(Priority)に接続することです。これは、より適切で短くなります。

于 2013-04-10T20:10:06.543 に答える