TimeDelta aktion auserhalb der Gui ausführen ?
Verfasst: Donnerstag 25. April 2019, 16:29
Hi,
ich versuche mich gerade in meinem Praktikum daran aus einer Maschine Signale abzufangen und auszuwerten mittels Raspberry Pi. Fur die Oberflaeche nutze ich Qt-Designer. Eig funktioniert alles, doch ich habe das gefühl das es sicherlich eine Elegantere loesung gibt. Da auch die auslasung bei ca.35% liegt denke ich liegt es an meinem unreifen programmier style. Die GUI hat ca. 8Widgets.
Im Prinzip ist mein Programm wie im hier dargestellten mini Programm mit einem timeEdit Widget dargestellt :
Meine Frage lautet : Ist es moeglich die def Time() auserhalb der Ui_Form() zu initialisieren sodass beim veraendern der zeit per time.Edit sie korrrekt geprintet ?
ps : ich bin Machienbauer und befasse mich mit Python seit ca.2-3 Wochen falls mein beispiel Code grobe Fehler enthaelt bitte nachsicht aber was ich nicht denke da es ja funktioniert haha
ich versuche mich gerade in meinem Praktikum daran aus einer Maschine Signale abzufangen und auszuwerten mittels Raspberry Pi. Fur die Oberflaeche nutze ich Qt-Designer. Eig funktioniert alles, doch ich habe das gefühl das es sicherlich eine Elegantere loesung gibt. Da auch die auslasung bei ca.35% liegt denke ich liegt es an meinem unreifen programmier style. Die GUI hat ca. 8Widgets.
Im Prinzip ist mein Programm wie im hier dargestellten mini Programm mit einem timeEdit Widget dargestellt :
Code: Alles auswählen
from PyQt5 import QtCore, QtGui, QtWidgets
from PyQt5.Qt import QLCDNumber, QDialog, QPushButton, QVBoxLayout, QApplication, QTimer
cycle_time = 0
class Ui_Form(QDialog):
def __init__(self):
super(Ui_Form, self).__init__()
self.timeEdit = QtWidgets.QTimeEdit(Form)
self.timer = QTimer()
self.timer.timeout.connect(self.Time)
self.Time()
def setupUi(self, Form):
Form.setObjectName("Form")
Form.resize(400, 300)
self.timeEdit.setGeometry(QtCore.QRect(70, 110, 271, 71))
self.timeEdit.setMaximumTime(QtCore.QTime(12, 59, 59))
self.timeEdit.setMinimumTime(QtCore.QTime(0, 0, 0))
self.timeEdit.setCurrentSection(QtWidgets.QDateTimeEdit.SecondSection)
self.timeEdit.setCalendarPopup(False)
self.timeEdit.setObjectName("timeEdit")
self.retranslateUi(Form)
QtCore.QMetaObject.connectSlotsByName(Form)
def retranslateUi(self, Form):
_translate = QtCore.QCoreApplication.translate
Form.setWindowTitle(_translate("Form", "Form"))
self.timeEdit.setDisplayFormat(_translate("Form", "mm:ss"))
def Time(self):
global cycle_time
cycle_time = self.timeEdit.time()
print(cycle_time)
self.timer.start(1000)
if __name__ == "__main__":
import sys
app = QtWidgets.QApplication(sys.argv)
Form = QtWidgets.QWidget()
ui = Ui_Form()
ui.setupUi(Form)
Form.show()
sys.exit(app.exec_())
ps : ich bin Machienbauer und befasse mich mit Python seit ca.2-3 Wochen falls mein beispiel Code grobe Fehler enthaelt bitte nachsicht aber was ich nicht denke da es ja funktioniert haha
