实时更新日期时间,不显示其他元素

时间:2017-06-12 23:30:42

标签: python datetime pyqt

我开始使用一个应用程序来显示当前的datetime.datetime.now()以及一个按钮,该按钮可以在按下时将当前时间添加到列表中。 datetime每秒都在更新自己,但我根本看不到窗口中的按钮元素。

我对pyqt很新,所以我确定这里有问题。

这里有没有人可以帮我弄清楚为什么我看不到更新日期时间之外的任何其他元素?是覆盖它还是什么?任何帮助将不胜感激。

import sys
from PyQt4.QtCore import *
from PyQt4.QtGui import *
from datetime import datetime


class feedingTime(QDialog):
    def __init__(self):
        QDialog.__init__(self)

        layout = QGridLayout()
        self.label = QLabel(datetime.now().strftime('%Y-%m-%d %H:%M:%S'),self)
        self.button = QPushButton("test")
        layout.addWidget(self.label,0,0)
        layout.addWidget(self.button,0,1)


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

    def displayTime(self):
        self.label.setText(datetime.now().strftime('%Y-%m-%d %H:%M:%S'))


if __name__ == "__main__":
    app = QApplication(sys.argv)
    dialog = feedingTime()
    dialog.show()
    sys.exit(app.exec_())

1 个答案:

答案 0 :(得分:0)

您忘了设置布局:)

...
layout.addWidget(self.label,0,0)
layout.addWidget(self.button,0,1)
self.setLayout(layout)