问下这个QTimer

yezhubenyue 2010-12-07 04:22:56
DigiClock::DigiClock(QWidget *parent)
: QLCDNumber(parent)
{
QPalette p = palette();
p.setColor(QPalette::Window,Qt::blue);
setPalette(p);

setWindowFlags(Qt::FramelessWindowHint);

setWindowOpacity(0.5);

QTimer *timer = new QTimer(this);
connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
timer->start(500);

showTime();

resize(150, 60);

showColon=true;
}
这里timer->start(500)我是这么理解的,延迟500MS,然后发出timeout信号,执行showtime()槽。
这样反反复,我不知道什么时候执行到 showTime();和resize(150, 60);啊???
求解?
...全文
71 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
dbzhang800 2010-12-08
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 yezhubenyue 的回复:]

额,呵呵呵单片机的中断一样啊~~
[/Quote]
注意:理解上仍有很大偏差,这个和硬件中断是截然不同的
yezhubenyue 2010-12-07
  • 打赏
  • 举报
回复
额,呵呵呵单片机的中断一样啊~~
zhu_xz 2010-12-07
  • 打赏
  • 举报
回复
就这一段代码而言:
connect(timer, SIGNAL(timeout()), this, SLOT(showTime()));
timer->start(500);
showTime();
resize(150, 60);

timer->start会立即返回,然后马上执行showTime和resize函数
而在定时器到期后,会再次执行showTime函数
dbzhang800 2010-12-07
  • 打赏
  • 举报
回复
[Quote=引用楼主 yezhubenyue 的回复:]
这里timer->start(500)我是这么理解的,延迟500MS,然后发出timeout信号,执行showtime()槽。
这样反反复,我不知道什么时候执行到 showTime();和resize(150, 60);啊???
求解?
[/Quote]
这个理解有很大的偏差。
但我不清楚该建议你看些什么,比如:事件系统?
车太靓 2010-12-07
  • 打赏
  • 举报
回复
设断点,试试看

16,213

社区成员

发帖
与我相关
我的任务
社区描述
Qt 是一个跨平台应用程序框架。通过使用 Qt,您可以一次性开发应用程序和用户界面,然后将其部署到多个桌面和嵌入式操作系统,而无需重复编写源代码。
社区管理员
  • Qt
  • 亭台六七座
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧