Python 2.7与PyQt4:已知获取当前时间方法,如何生成随机时分?
生成随机小时/分钟的PyQt4实现(Python 2.7)
嘿,这问题挺常见的!PyQt4的QTime本身没有直接生成随机时间的方法,但结合Python自带的random模块就能轻松搞定,我给你两种实用的实现方式:
方法一:手动生成随机时分并构造QTime
这是最直观的方式,直接生成符合范围的随机整数,再传给QTime构造函数:
import random from PyQt4 import QtCore # 生成0-23之间的随机小时 random_hour = random.randint(0, 23) # 生成0-59之间的随机分钟 random_minute = random.randint(0, 59) # 用随机时分创建QTime对象 random_time = QtCore.QTime(random_hour, random_minute) # 可选:将时间转为易读的字符串格式(比如HH:mm) print(random_time.toString("HH:mm"))
如果需要包含随机秒数,只需要多加一个随机值即可:
random_second = random.randint(0, 59) random_time_with_sec = QtCore.QTime(random_hour, random_minute, random_second) print(random_time_with_sec.toString("HH:mm:ss"))
方法二:用randrange简化代码
如果你觉得randint写范围有点麻烦,也可以用random.randrange直接指定上限,效果完全一样:
random_hour = random.randrange(24) # 等价于生成0-23的随机整数 random_minute = random.randrange(60) # 等价于生成0-59的随机整数
小提示
- 生成的
random_time是标准的QTime对象,和你用QTime.currentTime()获取的时间对象用法完全一致,可以直接用于PyQt4的UI组件(比如QTimeEdit)或者时间计算。 - Python2.7的
random模块这些方法都是稳定可用的,和PyQt4没有兼容性问题。
内容的提问来源于stack exchange,提问作者Python newbie
相关产品推荐
相关产品推荐

