我有一个简单的python qt4代码,可以垂直打印相同的标签 . 如何在下一个打印标签之前延迟(time.sleep)1秒钟?
class Ui_Form(object):
def setupUi(self, Form):
.....
self.pushButton.clicked.connect(self.praxis)
self.label_i = 0
self.timer = QTimer(self)
self.timer.timeout.connect(self.praxis)
self.timer.start(1000)
def praxis(self):
self.lbl1_count = 119
for i in range(10):
self.lbl_1 = QtGui.QLabel(Form)
self.lbl_1.setGeometry(QtCore.QRect(120, self.lbl1_count, 14, 34))
self.lbl_1.setText(_translate("Form", "Something Text", None))
font = QtGui.QFont()
font.setPointSize(16)
self.lbl_1.setFont(font)
self.lbl_1.setObjectName(_fromUtf8("label"))
self.lbl1_count += 35
self.label_i += 1
if self.label_i >= 10:
self.timer.stop()
1 回答
您可以使用
QTimer
在x个时间后触发函数调用 . 它比使用sleep
更好,因为它会在发生更新时看到更新 .这将创建一个
QTimer
,它将在第二个(1000毫秒)内调用您的更新函数 . 在该函数中,它检查函数是否已被调用10次,然后停止计时器 .