我有一些代码,用于一个非常通用/空白的图形用户界面,带有一些标签、按钮和一个LCD小部件。我还为一个单独的窗口编写了一些代码,它只使用一个LCD小部件来显示时间。我的问题是如何将时钟的代码插入到通用GUI代码中,使LCD小部件显示时间?在
from PyQt5.QtCore import QTime, QTimer
from PyQt5.QtWidgets import QApplication, QLCDNumber
class DigitalClock(QLCDNumber):
def __init__(self, parent=None):
super(DigitalClock, self).__init__(parent)
self.setSegmentStyle(QLCDNumber.Filled)
timer = QTimer(self)
timer.timeout.connect(self.showTime)
timer.start(1000)
self.showTime()
self.setWindowTitle("Digital Clock")
self.resize(150, 60)
def showTime(self):
time = QTime.currentTime()
text = time.toString('hh:mm')
if (time.second() % 2) == 0:
text = text[:2] + ' ' + text[3:]
self.display(text)
if __name__ == '__main__':
import sys
app = QApplication(sys.argv)
clock = DigitalClock()
clock.show()
sys.exit(app.exec_())
这是简单时钟的代码,我想把它插入到下面的代码中,让LCD小部件像这个一样显示时间:
^{pr2}$
简单解决方案:
假设第一个文件名为
DigitalClock.py
,第二个文件名为main.py
,那么只需将导入添加到main.py
并更改QLCDNumber创建的行:主.py
长解:
将QLCDNumber升级为使用DigitalClock,您可以参考这个other answer的指南,在这里您可以用DigitalClock交换QVideoWidget和PyQt5.qt多媒体widgets与DigitalClock。在
另一种方法是创建一个小部件插件,以便可以直接在Qt设计器中使用。在
在数字时钟文件.py在
在生成UI.py(来自QtDesigner)
^{pr2}$在主.py在
把这三个文件都加起来目录。自从您已经实现了DigitalClock,不要在这个UI中添加时钟,只需继承QtDEsigner生成的类,并将您的时钟添加到继承的变形金刚.py只需运行主.py会达到预期的效果任务。希望这有帮助
相关问题 更多 >
编程相关推荐