注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

沙漠里de烟雨

原创分享,禁止转载

 
 
 

日志

 
 

Qt---如何重写QThread线程类  

2013-12-29 16:51:00|  分类: QT5.x与QML |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
如:
class UpdateThread : public QThread
{
Q_OBJECT

public:
UpdateThread(QList<TradeItem>& itemList,QObject *parent=0);
~UpdateThread();

//overwrite;
protected:
void run() Q_DECL_OVERRIDE;

signals:
void SendPriceSignal(const TradeItem& item);

private slots:
void Update();

private:
QList<TradeItem>& m_ItemList;
};

UpdateThread::UpdateThread(QList<TradeItem>& itemList,QObject *parent) : m_ItemList(itemList),QThread(parent)
{
}

UpdateThread::~UpdateThread()
{

}

void UpdateThread::run()
{
static bool bStart = false;
if(!bStart)
{
QTimer* timer = new QTimer;
connect(timer,SIGNAL(timeout()),SLOT(Update()));
timer->start(100);
bStart = true;
}
this->exec(); //注:这个不能少。
}

void UpdateThread::Update()  ////测试之用;
{
QTime t;
t= QTime::currentTime();
qsrand(t.msec()+t.second()*1000);
int n = qrand()%6;
QString bid = "85";
bid += QString(".6%0").arg(n);
QString ask = "85";
ask += QString(".3%0").arg(n);
QList<TradeItem> list;
for(int i=0;i<m_ItemList.count();i++)
{
TradeItem  item = m_ItemList[i];
item.m_CurrentAskPrice = ask;
item.m_CurrentBidPrice = bid;
item.m_CurrentTime = t.toString();
list.append(item);
}

for(int i=0;i<list.count();i++)
emit SendPriceSignal(list[i]);  
}


  评论这张
 
阅读(330)| 评论(0)
推荐

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2017