PySide6 中 QTimer() 函数的问题函数不循环
Problem with QTimer() function in PySide6 the function doesn't loop
我有这个 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())
控制台输出:
LOL
True
我在 Qt documentation 中进行了搜索,但一无所获
您的连接有误。将 self.timer.timeout.connect(self.pp())
更改为 self.timer.timeout.connect(self.pp)
,因为您要连接到函数,而不是它的输出。
我有这个 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())
控制台输出:
LOL
True
我在 Qt documentation 中进行了搜索,但一无所获
您的连接有误。将 self.timer.timeout.connect(self.pp())
更改为 self.timer.timeout.connect(self.pp)
,因为您要连接到函数,而不是它的输出。