Таймер Python с кнопкой Qt Design и номером LCD - PullRequest
0 голосов
/ 08 марта 2012

Использование Qt Designer и python2.7. Я пытаюсь создать таймер «отсчета» из кнопки Qt Designer и номера LCD. Я хотел бы, чтобы одна кнопка запускала и сбрасывала таймер, а номер ЖК-дисплея отображал количество времени, прошедшее в формате чч: мм: сс. Я также пытаюсь сделать окно "всплывающим" через 40 минут и отображать сообщение "Хорошая работа, ты сделал это!"

Я искал ответы, пробовал много разных комбинаций поисков Google ... и теперь все мои результаты отображаются фиолетовым цветом (я уже перешел по ссылке)! LOL Я вижу много примеров на других языках и для таймеров обратного отсчета и для, как кажется, любых других и всех других комбинаций таймеров и языков ... но ни одного для python! Серьезно, я пытался выяснить это в течение нескольких дней, и просто ничего не получил с этим.

Ниже приведен код, который у меня есть. Я думаю, что часть, в которой я нуждаюсь, - это остальная часть функции / метода def doStartReset (self): *. 1005 *

Надеюсь, я достаточно ясен. Спасибо!

#!/usr/bin/python2.7
import sys
from PyQt4 import QtGui,QtCore
from timer_ui import *

class MyForm(QtGui.QMainWindow):
        def __init__(self, parent=None):
                #build parent user interface
                QtGui.QWidget.__init__(self, parent)
                self.ui = Ui_MainWindow()
                self.ui.setupUi(self)

                QtCore.QObject.connect(self.ui.btnStartReset, QtCore.SIGNAL('clicked()'), self.doStartReset)

        def doStartReset(self):



if __name__ == "__main__":
        #This function means this was run directly, not called from another python  file.
        app = QtGui.QApplication(sys.argv)
        myapp = MyForm()
        myapp.show()
        sys.exit(app.exec_())

Вот код для графического интерфейса в формате _ui.py, если он вам нужен.

- - кодировка: utf-8 - -

из PyQt4 import QtCore, QtGui

попробовать: _fromUtf8 = QtCore.QString.fromUtf8 за исключением AttributeError: _fromUtf8 = лямбда с: с

класс Ui_MainWindow (объект): def setupUi (self, MainWindow): MainWindow.setObjectName (_fromUtf8 ( "MainWindow")) MainWindow.resize (340, 205) self.centralwidget = QtGui.QWidget (MainWindow) self.centralwidget.setObjectName (_fromUtf8 ( "centralwidget")) self.widget = QtGui.QWidget (self.centralwidget) self.widget.setGeometry (QtCore.QRect (40, 50, 261, 81)) self.widget.setObjectName (_fromUtf8 ( "виджет")) self.gridLayout = QtGui.QGridLayout (self.widget) self.gridLayout.setMargin (0) self.gridLayout.setObjectName (_fromUtf8 ( "GridLayout")) self.btnStartReset = QtGui.QPushButton (self.widget) self.btnStartReset.setObjectName (_fromUtf8 ( "btnStartReset")) self.gridLayout.addWidget (self.btnStartReset, 0, 0, 1, 1) self.lcd40MinTimer = QtGui.QLCDNumber (self.widget) self.lcd40MinTimer.setObjectName (_fromUtf8 ( "lcd40MinTimer")) self.gridLayout.addWidget (self.lcd40MinTimer, 0, 1, 1, 1) MainWindow.setCentralWidget (self.centralwidget) * +1021 *

    self.retranslateUi(MainWindow)
    QtCore.QMetaObject.connectSlotsByName(MainWindow)

def retranslateUi(self, MainWindow):
    MainWindow.setWindowTitle(QtGui.QApplication.translate("MainWindow",

"MainWindow", Нет, QtGui.QApplication.UnicodeUTF8)) self.btnStartReset.setText (QtGui.QApplication.translate ( "MainWindow", «Пуск / Сброс», Нет, QtGui.QApplication.UnicodeUTF8))

Заранее спасибо.

Эй, ребята ... вот какой-то прогресс, которого я добился ... грустно, что мне потребовалось три дня, чтобы достичь этого, но, тем не менее, это прогресс! Теперь я собираюсь поработать над установкой формата чч: мм: сс и иметь функцию кнопок, включающую запуск, остановку и сброс ... Может быть, это поможет некоторым людям, а может, кто-то поможет мне! Вместе я убежден, что мы можем сделать это! CHEERS !!!

! / USR / бен / питон

- - кодировка: utf-8 - -

import sys из PyQt4 import QtGui, QtCore

Пример класса (QtGui.QWidget):

def __init__(self):
    super(Example, self).__init__()

    self.initUI()

def initUI(self):

    self.lcd = QtGui.QLCDNumber(self)
    self.lcd.setGeometry(30, 40, 200, 25)

    self.btn = QtGui.QPushButton('Start', self)
    self.btn.move(40, 80)
    self.btn.clicked.connect(self.doAction)

    self.timer = QtCore.QBasicTimer()
    self.step = 0

    self.setGeometry(300, 300, 280, 170)
    self.setWindowTitle('QtGui.QLCDNumber')
    self.show()

def timerEvent(self, e):

    if self.step >= 100:
        self.timer.stop()
        self.btn.setText('Finished')
        return

    self.step = self.step + 1
    self.lcd.display(self.step)

def doAction(self):

    if self.timer.isActive():
        self.timer.stop()
        self.btn.setText('Start')
    else:
        self.timer.start(100, self)
        self.btn.setText('Stop')

def main ():

app = QtGui.QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())

если name == ' main ': Основной ()

1 Ответ

0 голосов
/ 11 сентября 2013

xopenex , некоторое время назад я кодировал таймер обратного отсчета в Python, используя Qt.Может ли это быть тем, что вы искали?

http://code.google.com/p/count-up-timer/

...