我正在尝试创建一个代码,使我连续闪烁两个标签(其中有图像)。我正在使用QTimer来帮助创建闪烁/闪烁,但是我以前不熟悉此功能。我收到
的错误消息“ TypeError:无法调用本机Qt信号”blink = blinkTimer.timeout()
从我对此的研究中,我已经看到了一些有关插槽的信息……我不知道那是我的问题所在吗?如果是这样的话,对使用超时的插槽进行解释将非常有帮助和赞赏!
这是我的工作代码:
import sys
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from testBlinking import *
from testBlinking import Ui_MainWindow
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
window = QMainWindow()
ui: Ui_MainWindow = Ui_MainWindow()
ui.setupUi(window)
ui.label_2.hide()
blinkTimer = QTimer()
blink = blinkTimer.timeout()
def onblink():
if ui.label.show():
ui.label.hide()
ui.label_2.show()
else:
ui.label.show()
ui.label_2.hide()
blink.connect(onblink)
blink.start(500)
以下是根据以下建议编辑的更新代码:
from PyQt5.QtCore import *
from PyQt5.QtGui import *
from PyQt5.QtWidgets import *
from testBlinking import *
from testBlinking import Ui_MainWindow
QApplication.setAttribute(Qt.AA_EnableHighDpiScaling)
app = QApplication(sys.argv)
window = QMainWindow()
ui = Ui_MainWindow()
ui.setupUi(window)
ui.label.hide()
ui.label_2.hide()
blinkTimer = QTimer()
def onblink():
if ui.label.show():
ui.label.hide()
ui.label_2.show()
else:
ui.label.show()
ui.label_2.hide()
blinkTimer.timeout.connect(onblink)
blinkTimer.start(500)
window.show()
sys.exit(app.exec_())
当前仅显示第一个标签,但不闪烁。在我的python代码中,突出显示了blinkTimer.timeout.connect(onblink)
的连接...是否可能由于某种原因未连接我的函数?