首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >PythonQT4-延迟问题怎么解决?

PythonQT4-延迟问题怎么解决?
EN

Stack Overflow用户
提问于 2018-08-02 05:15:37
回答 1查看 0关注 0票数 0

我有一个简单的pythonqt 4代码,垂直输出相同的标签。在下一个打印标签之前,我如何延迟(时间,睡眠)1秒?

代码语言:txt
复制
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()
EN

回答 1

Stack Overflow用户

发布于 2018-08-02 15:05:48

你可以使用QTimer在x时间之后触发函数调用。sleep因为它不会冻结GUI,你将看到:

代码语言:txt
复制
def __init__(self):
    ...
    self.label_i = 0
    self.timer = QTimer(self)
    self.timer.timeout.connect(self.update_label)
    self.timer.start(1000)

def update_label(self):
    # Your label updating code above
    ...
    self.label_i += 1
    if self.label_i >= 10:
        self.timer.stop()

这将创建一个QTimer在这个函数中,它检查函数是否被调用了10次,然后停止计时器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/-100005893

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档