PyQt4 QTimer не работает

Я новичок в использовании PyQt4 QTimer. Я просто копирую код откуда-то, но, похоже, он не работает. Может кто-то помочь мне с этим?

from PyQt4 import QtCore, QtGui
from PyQt4.QtGui import *
from PyQt4.QtCore import *



def startCount(): 
    timer.start(1000)



def showNum():
    global count
    count = count + 1 
    return count

timer = QtCore.QTimer()
count = 0
timer.timeout.connect(showNum)
startCount()

Я ожидаю, что счетчик будет увеличиваться со временем, но консоль ничего не показывает в качестве вывода. Кто-нибудь может это объяснить?


person lwangreen    schedule 13.11.2016    source источник
comment
Забыл исправить возврат в функции showNum, но проблема не в том, что ничего не отображается на экране. Тот же результат получается при использовании print.   -  person lwangreen    schedule 13.11.2016


Ответы (1)


QTimer не может работать без работающего цикла обработки событий. Попробуйте это вместо этого:

import sys
from PyQt4 import QtCore, QtGui

def startCount():
    timer.start(1000)

def showNum():
    global count
    count = count + 1
    print(count)
    if count > 10:
        app.quit()

app = QtCore.QCoreApplication(sys.argv)

timer = QtCore.QTimer()
count = 0
timer.timeout.connect(showNum)
startCount()

app.exec_()
person ekhumoro    schedule 13.11.2016