PySide6 中 QTimer() 函数的问题该函数不循环

Hos*_*hem 2 python pyqt qtimer pyside6

我有这个 PySide 应用程序,我想每 1 秒运行一次函数 pp,但是当我运行该应用程序时,它只运行了 1 次。

import sys
from PySide6.QtWidgets import QMainWindow, QApplication
from PySide6 import QTimer


class MainWindow(QMainWindow):
    def __init__(self):

        QMainWindow.__init__(self)
        ###
        self.timer = QTimer()
        self.timer.timeout.connect(self.pp())
        self.timer.start(1000)
        print(self.timer.isActive())

    def pp(self):
        print("LOL")


if __name__ == "__main__":
    app = QApplication(sys.argv)
    window = MainWindow()
    window.show()
    #app.show()
    sys.exit(app.exec())
Run Code Online (Sandbox Code Playgroud)

控制台输出:

LOL
True
Run Code Online (Sandbox Code Playgroud)

我搜索了Qt 文档但没有找到任何结果

小智 5

你的连接是错误的。更改self.timer.timeout.connect(self.pp())self.timer.timeout.connect(self.pp),因为您想要连接到该函数,而不是其输出。