16,816
社区成员




#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"));
}
测试过,可用[/quote]
我大概明白了你的想法,,,现在我不知道DisplayThread::DisplayThread(MainWindow *pWindow, QObject *parent) :
QThread(parent)的构造函数是怎样实现的,,我新建线程类,没有MainWindow *pWindow,,,于是我更改建好的类的构造函数定义和实现,,结果报错了,,,#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"));
}
测试过,可用[/quote]
十分感谢,,,你上面的代码是在同一个cpp文件吗,,怎么会有void MainWindow::display()和void DisplayThread::run()同时出现呢,,,#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"));
}
测试过,可用