• 5294阅读
  • 2回复

定时和textChanged信号的问题 [复制链接]

上一主题 下一主题
离线zjw404384049
 
只看楼主 倒序阅读 楼主  发表于: 2008-07-15
— 本帖被 XChinux 执行加亮操作(2008-07-17) —
有两个问题想请教下各位高手:
1. 定时2秒可以用QTimer,延迟几千毫秒。但是如果想定时2小时,也是只有用这个吗?有没更好的方法呢?
2. 有一个QLineEdit *timeEdit;  定义了槽 void changeSave();
但是用如下连接后,timeEdit中内容改变后却没有触发changeSave(),为什么呢?
connect(timeEdit, SIGNAL(textChanged(timeEdit->text())), this, SLOT(changeSave()) );

connect(timeEdit, SIGNAL(textChanged()), this, SLOT(changeSave()) );
都不对……

希望各位指点一下!不胜感激!
离线weizhy
只看该作者 1楼 发表于: 2008-07-17
对于第一个问题,因为QTimer只是到指定时间向事件循环中写入一个事件,若这时你有一个很耗时的操作在进行,则延迟会比较大,因此在准确性上无法保证,不过我用的时候最大也是10ms量级,应该是你程序的问题,个人认为重载timeEvent会好一些

对于第二个问题,信号槽连接时应该使用函数原型(签名式),应该连接成:
connect(timeEdit, SIGNAL(textChanged(const QString&)), this, SLOT(changeSave()))
离线zjw404384049
只看该作者 2楼 发表于: 2008-08-05
非常感谢楼上的仁兄!
快速回复
限100 字节
 
上一个 下一个