Qt多线程的学习

QT从入门到入土(五(1))——多线程(QThread) - 唯有自己强大 - 博客园 (cnblogs.com)

#include "workthread.h"
#include <QDebug>
work2()
{
    qDebug() << "work2():" << QThread::currentThreadId();
    QThread::sleep(5);
}

workThread::workThread(QObject *parent) : QThread(parent)
{

}

void workThread::work1()
{
     qDebug() << "work1():" << QThread::currentThreadId();
     QThread::sleep(5);
}

void workThread::run()
{
    qDebug() << "当前子线程ID:" << QThread::currentThreadId();
    QThread::sleep(10);
    work1();
    work2();

}
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QThread>
#include <QDebug>
MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    thread=new workThread(this);
}

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

void MainWindow::on_pushButton_clicked()
{
    qDebug() << "主线程id:" << QThread::currentThreadId();
    thread->start();
}

主线程id: 0x512c

当前子线程ID: 0x4ef0

work1(): 0x4ef0

work2(): 0x4ef0

说明run(),work1()和work2()都是在子线程中执行的。

void workThread::run()
{
    QString path = QApplication::applicationDirPath();
    QString fileName = QFileDialog::getOpenFileName(nullptr, QString::fromLocal8Bit("选择excel文件"), path, QString::fromLocal8Bit("Excel Files(*.xls *.xlsx)"));    //设置保存的文件名
}

错误写法!

ASSERT failure in QWidget: "Widgets must be created in the GUI thread.", file kernel\qwidget.cpp, line 1146

子线程中不能使用QWidget相关的窗体。 

相关推荐

  1. Qt线学习

    2024-04-12 07:48:02       45 阅读
  2. Qt线

    2024-04-12 07:48:02       49 阅读
  3. Qt线

    2024-04-12 07:48:02       37 阅读
  4. QTqt线使用

    2024-04-12 07:48:02       64 阅读
  5. QtQt线使用

    2024-04-12 07:48:02       36 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-12 07:48:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-12 07:48:02       100 阅读
  3. 在Django里面运行非项目文件

    2024-04-12 07:48:02       82 阅读
  4. Python语言-面向对象

    2024-04-12 07:48:02       91 阅读

热门阅读

  1. 初识 QT

    初识 QT

    2024-04-12 07:48:02      34 阅读
  2. Liunx和Windows中重启MySql

    2024-04-12 07:48:02       31 阅读
  3. 浅谈-“cin 输入弊端”

    2024-04-12 07:48:02       38 阅读