【发布时间】:2016-05-23 06:32:31
【问题描述】:
我的 UI(Qt 设计器)有一个“开始”按钮、一个“停止”按钮和一个 lcdNumber,它应该显示单击“开始”和“停止”之间的秒数。 我按照那里的说明进行操作:Can't seem to get pyqt countdown timer to work
但是我的timeout 不起作用,尽管在编写该行时向我提出了connect:QtCore.QTimer.timeout.connect(self.tick_timer) AttributeError: 'PyQt4.QtCore.pyqtSignal' object has no属性“连接”
我也尝试在我的 update_timer 函数中实现这样的行 (QtCore.QTimer.connect(QtCore.QTimer(), QtCore.SIGNAL("timeout()"), self, QtCore.SLOT("func()"))),但这会导致错误 (Object::connect: No such slot MainWindow::func()
Object::connect: (receiver name: 'MainWindow')) 我真的不明白如何使用超时连接信号。
如果我注释掉这个“超时”行,主窗口就会出现,但单击“开始”按钮显然只运行一次“tick_timer”功能,因为液晶显示器显示0:01。
感谢您的帮助!
from PyQt4 import QtCore, QtGui, uic
class MainWindow(QtGui.QMainWindow):
def __init__(self, parent=None):
super(MainWindow, self).__init__(parent)
uic.loadUi('MainWindow.ui', self)
# Buttons
self.QStartButton.clicked.connect(self.start_timer)
self.QStopButton.clicked.connect(self.stop_timer)
# Timer
QtCore.QTimer.timeout.connect(self.tick_timer)
def start_timer(self):
self.now = 0
self.tick_timer()
QtCore.QTimer.start
def update_timer(self):
self.runtime = "%d:%02d" % (self.now/60,self.now % 60)
self.lcdNumber.display(self.runtime)
def tick_timer(self):
self.now += 1
self.update_timer()
def stop_timer(self):
QtCore.QTimer.stop
【问题讨论】: