QT 中 界面中消息的停留时间解决方案
要实现的理想效果是:
程序运行开始时界面中没有文字显示,然后有文字显示,文字停留几秒钟,然后文字消失。
首先在UI中拖入一个 frame ,在frame 中拖入一个 label。
========================================================================
在类的声明中声明 
QTimer *timer;
========================================================================
可以在构造函数中写如下代码
timer = new QTimer();
connect(timer, SIGNAL(timeout()), this, SLOT(hideMsg()));
ui.frame->hide(); //初始将frame隐藏,就将frame中的控件隐藏了
========================================================================
在相应函数中显示frame内容,同时出发计时器
ui.frame->show(); 
QFont font;
font.setPointSize(12);
ui.label->setFont(font);       //设置label中字体大小
ui.label->setWordWrap(true);    //设置label中字符换行
ui.label->setText(returnMsg);
timer->start(3000);  //出发计时器,3秒过后将会触发hideMsg()槽
========================================================================
void A::hideMsg()
{//槽函数--隐藏frame中的内容并停止计时器
   ui.frame->hide();
   timer->stop();         //停止计时器
}
========================================================================
最后别忘记在析构函数中释放相应的内存
if (NULL != timer)
{
   delete timer;
   timer = NULL;
}
========================================================================
 
                     
                    
                 
                    
                 

 
         
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号