QT 中 界面中消息的停留时间解决方案 以及 label 中字体大小和换行设置


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;
}
========================================================================


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM