利用QT的QThread将一个类中的成员函数转到线程下执行

来源:互联网 发布:prolink ii软件下载 编辑:程序博客网 时间:2024/06/10 21:09
#include "displaythread.h"#include "mainwindow.h"DisplayThread::DisplayThread(MainWindow *pWindow, QObject *parent) :    QThread(parent){    m_pWindow = pWindow;}void DisplayThread::run(){    m_pWindow->display();}void MainWindow::on_pushButton_clicked(){    DisplayThread *pThread = new DisplayThread(this);    pThread->start();}void MainWindow::display(){    ui->label->setPixmap(QPixmap(":/images/button.jpg"));}

      在mainwindow类中创建一个Button,连接一个槽函数display,考虑到槽函数执行过程中别的功能的实现,将display移到新的线程下。DisneyThread继承了QThread并且将MainWindow类传入,重写线程的run()函数,在run()函数中调用display,这样就可以保证display执行的过程中,MainWindow的其他功能可以同时实现了。

     第一次写博文,还是参照sourire_will的代码,十分感谢。

0 0
原创粉丝点击