我想显示一些警报(图片)。 当我点击按钮时,它显示几秒钟(仅3秒),我想使用QTimer隐藏它。 (蟒)
我正在制作一些工作计划。 QTimer不会中断我的程序,所以我选择。
button clicked -> show Alert -> few seconds -> hide Alert
if maxn == -1:
self.Alert1.show()
def start_timer(self):
self.timer.start(1000)
self.Alert1.hide()
我的错误编码帮助
答案 0 :(得分:0)
您提供的代码并未显示了解问题所在的内容,因此我不会对此发表评论。
一种可能的解决方案是创建一个继承QLabel
并且具有start()
方法的类,该方法显示标签并同时启动QTimer
,当它被触发时,隐藏标签。
import sys
from PyQt5.QtWidgets import QApplication, QLabel, QPushButton
from PyQt5.QtGui import QPixmap
from PyQt5.QtCore import QTimer
class AlertLabel(QLabel):
def start(self, time):
self.show()
QTimer.singleShot(time, self.hide)
if __name__ == '__main__':
app = QApplication(sys.argv)
button = QPushButton("Click me")
label = AlertLabel()
label.setPixmap(QPixmap("/path/of/your/image"))
button.clicked.connect(lambda: label.start(3000))
button.show()
sys.exit(app.exec_())