【100分】QTimeEdit的上下箭头变换时间问题

dxms8 2011-07-07 02:18:09
QTimeEdit自带有上下箭头,但是有上下界限。
如向上箭头只能按到59秒就不能按了,向下箭头按到0秒就不能按。
现在我想让时间可以循环表示,即59秒的时候按向上箭头,变成0秒;0秒时按向下箭头变为59秒。
怎么办啊??????
...全文
485 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
lifootballbin 2012-03-12
  • 打赏
  • 举报
回复
楼主,你好,同求,问题解决了吗?
开始领悟 2011-07-07
  • 打赏
  • 举报
回复
lz要么重载,自己编写代码实现,要么顺其自然
bx_wang 2011-07-07
  • 打赏
  • 举报
回复
重载mousePressEvent,你会惊喜的。
dxms8 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 bx_wang 的回复:]
额,我刚才看了下文档,值的范围是固定的,这种方法可能不行。
[/Quote]
我也刚想到,应该也没有负数吧。。。0再往下就搞不定了。

现在我应该能拿到当前所在时间段的时间数值,但是关键的按键的事件拿不到,不知道有没有办法去截取按键事件,如果能拿到按键事件就好办多了。
bx_wang 2011-07-07
  • 打赏
  • 举报
回复
额,我刚才看了下文档,值的范围是固定的,这种方法可能不行。
dxms8 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 bx_wang 的回复:]
楼主,可以尝试下void timeChanged ( const QTime & time );但需要用
void setTimeRange ( const QTime & min, const QTime & max )函数将最大值都设置的比你需要的大1。

方便的话留下邮箱吧,晚上或明天 我把 我写的代码发给你。
[/Quote]
看了你的方法貌似也有点灵感了,设成大1然后到那个值的时候改变吗?
我的邮箱是sei_zjb@126.com
多谢你的提醒,也很期待看看你的代码~~
dxms8 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpio 的回复:]
在editingFinished信号里面处理,如果是59秒,把值变成0秒,是0秒的变成59秒。

这个信号应该通过代码设置值的时候不会触发。
[/Quote]
关于editingFinished的说明:
This happens when the spinbox loses focus and when enter is pressed.
而我现在是在按上下箭头,focus一直在时间文本上,也没有按enter键,所以这个事件是不会触发的。。
bx_wang 2011-07-07
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 cpio 的回复:]

在editingFinished信号里面处理,如果是59秒,把值变成0秒,是0秒的变成59秒。

这个信号应该通过代码设置值的时候不会触发。
[/Quote]

editingFinished在只是点击向上或者向下的时候是不会被触发的,如果敲击回车,或者将焦点移到其它控件中会被触发。

楼主,可以尝试下void timeChanged ( const QTime & time );但需要用
void setTimeRange ( const QTime & min, const QTime & max )函数将最大值都设置的比你需要的大1。

方便的话留下邮箱吧,晚上或明天 我把 我写的代码发给你。
cpio 2011-07-07
  • 打赏
  • 举报
回复
在editingFinished信号里面处理,如果是59秒,把值变成0秒,是0秒的变成59秒。

这个信号应该通过代码设置值的时候不会触发。
yudexian 2011-07-07
  • 打赏
  • 举报
回复
初学者路过

16,216

社区成员

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

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