Использование 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 ':
Основной ()