首页| 论坛| 消息

标题:【提问】如何实现两个线程不断的向窗口发送数据 ?
作者:wjydlut
日期:2005-11-30 15:12
内容:

#ifndefTHREAD1_H
#defineTHREAD1_H
#include
#include
#include
#include
class Thread1 : public QThread
{
public:
//Thread();
//void setMessage(const QString &message);
virtual void run();
void stop();
QString time( );
private :
QMutex mutex;
QTimetim ;
intstr ;
};
#endif
#include
#include"Thread1.h"
void Thread1::run()
{
}
void Thread1::stop()
{
}
QString Thread1::time()
{
mutex.lock();
tim = QTime::currentTime();
str=tim.second();
char str1[10]={ } ;
sprintf(str1, "%d", str);
sleep(1);
qDebug( str1 );
sleep(1);
return str1 ;
mutex.unlock();
}


#1 Re:如何实现两个线程不断的向窗口发送数据 ? [wjydlut 11-30 15:27]
thread2 和thread1 基本相同
#ifndefPAINT_H
#definePAINT_H
#include
#include
#include
#include"Thread1.h"
#include"Thread2.h"
class paint: public QWidget
{
Q_OBJECT
public:
paint(QWidget*parent=0 , constchar*name=0 );
protected:
virtual void paintEvent(QPaintEvent *);
public slots:
voidchangeA1();
voidchangeA2();
voidchangeB1();
private :
QLabel*label1 ;
QLabel*label2 ;
QLabel*labelA1 ;
QLabel*labelA2 ;
QLabel*labelB1 ;

Thread1threadA ;
Thread2threadB ;
QPushButton*quitButton ;
QTimetim ;
intflag ;
};
#endif
////////////////////////////////////////////////////////////////////////////////
//////paint.cpp
#include
#include
#include
#include
#include
#include
#include "paint.h"
structpaintstruct{
//QString name ;
Qt::PenStyle style ;
}
pstyle={ Qt::SolidLine};
int main(int argc ,char **argv)
{
QApplicationapp(argc ,argv ,"paint");
paintpaint ;
QTextCodec::setCodecForCStrings(QTextCodec::codecForLocale());
paint.show();
app.setMainWidget(&paint);
return(app.exec());
}
paint::paint(QWidget*parent ,const char*name):QWidget(parent ,name)
{
setFixedSize(640,480);
label1 = new QLabel(threadA.time(), this);
label1->setGeometry(280,30,28,28);
label1->setAlignment(AlignVCenter | AlignHCenter);
label2 = new QLabel(threadB.time(), this);
& ..
#2 [wjydlut 12-02 15:23]
为什么没人回答呀?没人做过吗?
#3 [XChinux 12-02 16:50]
这个问题。。。。。。方法很多,你想用什么方法就用什么方法。
#4 [wjydlut 12-03 17:02]
老大!如果我知道我还用在这里问吗 ? 可不可以举出一种呀?

回复 发表
主题 版块