下你所需,载你所想!
汇集开发技术源码资料

Qt线程实例(复制文件)CopyFile-master

:7.479KB :1 :2022-07-13 14:33:54

部分简介

MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
ui->statusBar->showMessage("程序启动");
::createSrcFile();
// 使用自定义线程,重写run()函数,复制任务在run中完成
m_cpyThread = new CopyFileThread(this);
connect(m_cpyThread, SIGNAL(errorOccurred()),
this, SLOT(errorHandleSlot()));
connect(m_cpyThread, SIGNAL(percentCopied(double)),
this, SLOT(updateCopyProgress(double)));
connect(m_cpyThread, SIGNAL(finished()),
this, SLOT(copyFinishSlot()));
// 使用MoveToThread
m_copier = new FileCopier; // 这个实例要负责复制任务,不要设置parent
m_childThread = new QThread; // 子线程,本身不负责复制
connectCopier(m_copier); // 连接信号-槽,复制的开始和取消指令是通过信号发送的
m_copier->moveToThread(m_childThread); // 将实例移动到新的线程,实现多线程运行
m_childThread->start(); // 启动子线程

Qt线程实例(复制文件)CopyFile-master

热门推荐

相关文章