【问题标题】:How to Update QLabel from PyQt to new string each second?如何每秒将 QLabel 从 PyQt 更新为新字符串?
【发布时间】:2017-10-24 17:04:14
【问题描述】:

所以我试图在 python 中编写一个正在运行的文本,但我一直在思考如何每秒更新我在 Qlabel 中的字符串,使它看起来像一个正在运行的文本。这是我的代码

label = QLabel('Hello World  ')
label.move(70, 40)
label.setParent(form)

到目前为止,我只知道如何将字符串的最后一个字符放在第一个字符,它是这样的:

old = label.text()
new = old[len(old)-1:]+old[0:len(old)-1]
label.settext(new)

我需要知道的是如何在每秒钟一遍又一遍地重复我的代码,使文本看起来像是在运行。

请帮助教我如何做,感谢您的赞赏和您的时间。对不起,我的英语不好。

点击这里查看所有代码。

【问题讨论】:

    标签: python pyqt pyqt5 qlabel


    【解决方案1】:

    您必须使用QTimer

    def onTimeout():
        old = label.text()
        new = old[len(old)-1:]+old[0:len(old)-1]
        label.setText(new)
    label = QLabel("Hello World  ")
    timer = QTimer()
    timer.timeout.connect(onTimeout)
    timer.start(1000)
    

    注意:把label.settext()改成label.setText()

    【讨论】:

    • 我尝试编写以下 'timer.timeout.connect(ontimeout())' 但它给了我错误
    猜你喜欢
    • 2021-12-13
    • 1970-01-01
    • 2019-04-23
    • 2020-06-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多