gpt4 book ai didi

python - 以 LCD 格式显示系统时钟时间

转载 作者:行者123 更新时间:2023-11-28 22:01:40 26 4
gpt4 key购买 nike

我只想以 LCD 格式显示系统时钟时间。我还希望使用 hh:mm:ss 格式显示时间。我的代码如下。但是当我运行它时,它并不像我预期的那样。谁能解释一下为什么?

import sys
from PySide import QtGui, QtCore

class Example(QtGui.QWidget):

def __init__(self):
super(Example, self).__init__()
self.initUI()
timer = QtCore.QTimer(self)
timer.timeout.connect(self.showlcd)
timer.start(1000)
self.showlcd()

def initUI(self):

self.lcd = QtGui.QLCDNumber(self)
self.setGeometry(30, 30, 800, 600)
self.setWindowTitle('Time')

vbox = QtGui.QVBoxLayout()
vbox.addWidget(self.lcd)
self.setLayout(vbox)

self.show()

def showlcd(self):
time = QtCore.QTime.currentTime()
text = time.toString('hh:mm:ss')
self.lcd.display(text)


def main():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())


if __name__ == '__main__':
main()

最佳答案

QLCDNumber 具有固定数字显示 ( QLCDNumber.digitCount ),其默认值为 5。所以您的文本被截断为最后 5 个字符。您应该设置一个适当的值(在您的情况下为 8)。

import sys
from PySide import QtGui, QtCore

class Example(QtGui.QWidget):

def __init__(self):
super(Example, self).__init__()
self.initUI()
timer = QtCore.QTimer(self)
timer.timeout.connect(self.showlcd)
timer.start(1000)
self.showlcd()

def initUI(self):

self.lcd = QtGui.QLCDNumber(self)
self.lcd.setDigitCount(8) # change the number of digits displayed
self.setGeometry(30, 30, 800, 600)
self.setWindowTitle('Time')

vbox = QtGui.QVBoxLayout()
vbox.addWidget(self.lcd)
self.setLayout(vbox)

self.show()

def showlcd(self):
time = QtCore.QTime.currentTime()
text = time.toString('hh:mm:ss')
self.lcd.display(text)


def main():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())


if __name__ == '__main__':
main()

关于python - 以 LCD 格式显示系统时钟时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12703434/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com