gpt4 book ai didi

python - PyQt4:将操作系统日期/时间打印到标签

转载 作者:行者123 更新时间:2023-11-28 21:23:06 25 4
gpt4 key购买 nike

我正在尝试学习 Python 和 PyQt4 GUI。我想将日期/时间从操作系统打印到标签上的主窗口。我知道有一个 DateTimeEdit 小部件可以让用户查看(但也可以编辑——我不想要)时间,情况就是这样 here .我想总是直接从操作系统打印它。我的研究发现了 QDateTime 对象,但文档并未表明它们会发出任何类型的信号,这些信号在经过一段固定的时间后会有用。所以我猜我必须轮询它,如果我不希望它阻塞,这将需要多线程。有没有更优雅的方式来做到这一点,或者我正在考虑这样做的唯一方式?

(我知道用户可以只看任务栏,但我需要提供一些程序正在正确运行的反馈)

谢谢。

最佳答案

import sys
from PyQt4 import QtCore, QtGui


class MyWin(QtGui.QWidget):

def __init__(self, *args, **kwargs):
super().__init__(*args, **kwargs)
self.label = QtGui.QLabel('time', self)
self.setLayout(QtGui.QVBoxLayout())
self.layout().addWidget(self.label)

self.timer = QtCore.QTimer(self)
self.timer.setInterval(1000)
self.timer.timeout.connect(self.displayTime)
self.timer.start()

def displayTime(self):
self.label.setText(QtCore.QDateTime.currentDateTime().toString())


if __name__ == "__main__":
app = QtGui.QApplication(sys.argv)
win = MyWin()
win.show()
sys.exit(app.exec_())
  1. 如果你只需要显示日期\时间,简单的QLabel就足够了。
  2. QTimer 是您的 friend ,如果您需要定期做某事。无需处理线程 - 信号\槽系统处理。将 QTimer.timeout() 信号连接到任何可调用的设置间隔,调用 start() - 就是这样。

关于python - PyQt4:将操作系统日期/时间打印到标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17956519/

25 4 0