PyQt5 QTimer显示图像很少的sencods

时间:2018-05-17 03:44:16

标签: python pyqt pyqt5 qtimer

我想显示一些警报(图片)。 当我点击按钮时,它显示几秒钟(仅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()

我的错误编码帮助

1 个答案:

答案 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_())