u634781 2010-11-09 14:53
浏览 657
已采纳

用pyqt4写个定时弹出框的问题

想要做个定时提醒功能之类的小软件,写了下面的代码,但是只能弹出一次就自动退出了。

[code="python"]
import sys
from PyQt4 import QtGui,QtCore
import time

class MyWidget(QtGui.QWidget):
def init(self, msg, parent=None):
QtGui.QWidget.__init__(self, parent)
self.setFixedSize(200, 120)
self.quit = QtGui.QPushButton(msg, self)
self.quit.setGeometry(62, 40, 75, 30)
self.quit.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold))
self.connect(self.quit, QtCore.SIGNAL("clicked()"),
QtGui.qApp, QtCore.SLOT("quit()"))

def msgshow(msg):
app = QtGui.QApplication(sys.argv)
widget = MyWidget(msg)
widget.show()
sys.exit(app.exec_())

while True:
msgshow('haah')
time.sleep(3)
[/code]

不知道问题出在哪里呢?
谢谢

  • 写回答

4条回答 默认 最新

  • JRrrrrr 2010-11-09 16:58
    关注

    [code="python"]
    import sys
    from PyQt4 import QtGui,QtCore
    import time

    class MyWidget(QtGui.QWidget):
    def init(self, msg, parent=None):
    QtGui.QWidget.__init__(self, parent)
    self.setFixedSize(200, 120)
    self.quit = QtGui.QPushButton(msg, self)
    self.quit.setGeometry(62, 40, 75, 30)
    self.quit.setFont(QtGui.QFont("Times", 18, QtGui.QFont.Bold))
    self.connect(self.quit, QtCore.SIGNAL("clicked()"),
    QtGui.qApp, QtCore.SLOT("quit()"))

    def msgshow(self):
        self.setVisible(True)
        time.sleep(10)
        self.setVisible(False)
        time.sleep(10)
        self.msgshow()
    

    if name == '__main__':
    app = QtGui.QApplication(sys.argv)
    widget = MyWidget('haha')
    widget.msgshow()
    sys.exit(app.exec_())
    [/code]

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器