Форум сайта python.su
Требуется, чтобы при нажатии на кнопку, программа высчитывала время между нажатиями и суммировала его в отдельной переменной
import time import tkinter import pandas as pd from PyQt5 import uic, QtCore, QtGui, QtWidgets, QtTest #Создание переменной с текущим временем от начала эпохи: qtime = stime = int(time.time()) print(qtime) def bt_push(self): global stime ptime = int(time.time()) gtime = ptime - stime ftme += gtime() #<----Вот здесь попытался реализовать переменную-накопитель print(ftime) stime = ptime #Создание главного окна: def setupUi(self, MainWindow): MainWindow.setObjectName("MainWindow") MainWindow.resize(1200, 800) #1200, 800 MainWindow.setToolTipDuration(-5) self.centralwidget = QtWidgets.QWidget(MainWindow) self.centralwidget.setObjectName("centralwidget") #Кнопки: #Перерыв: self.bt_pereriv = QtWidgets.QPushButton(self.centralwidget) self.bt_pereriv.setGeometry(QtCore.QRect(180, 120, 180, 70)) font = QtGui.QFont() font.setPointSize(12) font.setBold(False) font.setWeight(50) self.bt_pereriv.setFont(font) self.bt_pereriv.setAutoFillBackground(False) self.bt_pereriv.setCheckable(True) self.bt_pereriv.setAutoExclusive(True) self.bt_pereriv.setObjectName("bt_pereriv") MainWindow.setCentralWidget(self.centralwidget) #Нажатие кнопок: self.retranslateUi(MainWindow) #Перерыв: self.bt_pereriv.pressed.connect(self.bt_push) if __name__ == "__main__": import sys app = QtWidgets.QApplication(sys.argv) MainWindow = QtWidgets.QMainWindow() ui = Ui_MainWindow() ui.setupUi(MainWindow) MainWindow.show() sys.exit(app.exec_())
Офлайн
а какой тебе формат суммированного времени нужен?
Офлайн
GenaboxInt. Целое число. Простое количество секунд
а какой тебе формат суммированного времени нужен?
Офлайн
да мы как раз сегодня ночью эту тему обговаривали…..
там 2 способа
объяви переменные и вызывай функуию начало - отсчет времени
пиши ее например в переменную старт
создай вторую переменную и все время ее обновляй slavetime наример
во время между нажатиями кнопки
а когда нажимаешь стоп выхватываешь время из slavetime и сравниваешь со старт
это если у тебя текущее время типа 12:10:11 старт и 12: 12: 10 стоп
now = datetime.now() _now = now - now _now2 = datetime.now() time =now2 - now
Int. Целое числообычно это или стринг или datetime time форман(он же стринг)
Отредактировано Genabox (Янв. 29, 2023 10:30:29)
Офлайн
GenaboxНе подойдёт. У меня кнопок - 7 штук. Нажиматься могут разные. Не нажиматься могут по несколько часов подряд. Функция таймер зависит от производительности системы и в таком разбеге может выдавать не точную инфу на слабом железе, а прога будет работать на самых дешёвых планшетах.
да мы как раз сегодня ночью эту тему обговаривали…..там 2 способаобъяви переменные и вызывай функуию начало - отсчет временипиши ее например в переменную стартсоздай вторую переменную и все время ее обновляй slavetime наример во время между нажатиями кнопки а когда нажимаешь стоп выхватываешь время из slavetime и сравниваешь со стартэто если у тебя текущее время типа 12:10:11 старт и 12: 12: 10 стоп
ftime += gtime
Отредактировано BCnuHy (Янв. 30, 2023 03:34:15)
Офлайн
Функция timer не подойдёт.таймер это конунтер
Офлайн
GenaboxОтсчёт системного времени идёт в секундах от начала эпохи. Я могу вытащить оттуда и день и год, всё что захочу. Так что смена суток вообще не показатель
таймер это конунтер
тебе после суток еще и дату придется отслеживать можду 12 для и 12 дня
Офлайн