Qt 5.4中用QTimer的槽函数处理页面局部数据更新请求

本文介绍在QT页面开发中,如何利用QTimer定时器处理页面局部数据资源的更新。通过定义QTimer和其槽函数timeoutslot(),实现每1000毫秒检查并更新特定资源的状态,如资源下线时更新图标。

使用环境: :在qt页面开发中,常常需要处理页面中一些局部数据资源的更新。

                       这里我用QTimer定时器,通过QTimer的槽函数:timeoutslot(),来处理页面局部数据资源的更新逻辑,

具体代码实现过程如下::

  • 在类的构造函数中定义一个定时器
    //添加在类的构造函数中
	QTimer *timer=new QTimer(this);
	connect(timer,SIGNAL(timeout()),this,SLOT(timeoutslot()));//timeoutslot()为自定义槽
	timer->start(1000);        //设置定时器处理时间断点为1000毫秒

 

  • 在timeoutslot()槽函数中处理请求
//TeleCloud是我的类,OnResourceOffline(int32_t nResId)为继承的SDK里类的虚函数
//用来处理资源下线,返回nResId为资源ID
void TeleCloud::OnResourceOffline(int32_t nResId)
{
	flag_devref = 1;          //  定义的下线标志位
	devID_fre = nResId;        //  将下线的资源ID取出来
}



//定时器的槽函数
void TeleCloud::timeoutslot()
{
    //
    if (1 == flag_devref)
	{
		map<uint32_t,  QStandardItem*>::iterator iter;
		iter = m_devResItemMap.find(devID_fre);   //用map查找对应的资源
		iter->second-        
        >setIcon(QIcon(QStringLiteral(":/device/Resources/device/device_offline.png")));
		flag_devref = 0;        //标志位置0
	}
    else
        return;
}

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值