From 2da46730435e3aef25b38e4d999c5d3a77e265f8 Mon Sep 17 00:00:00 2001 From: Yannik Schmidt Date: Sat, 15 Aug 2020 12:35:36 +0200 Subject: [PATCH] start gui --- src/main/icons/Icon.ico | Bin 0 -> 168229 bytes src/main/python/localization/de.py | 9 +++ src/main/python/main.py | 105 +++++++++++++++++++++++++++++ 3 files changed, 114 insertions(+) create mode 100644 src/main/icons/Icon.ico create mode 100644 src/main/python/localization/de.py create mode 100755 src/main/python/main.py diff --git a/src/main/icons/Icon.ico b/src/main/icons/Icon.ico new file mode 100644 index 0000000000000000000000000000000000000000..3312d8606e5ccf262e3e8f3397189f9105049a19 GIT binary patch literal 168229 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 WW*AAnCk45!Wo2xK?K9y1_WuD=+-6k( literal 0 HcmV?d00001 diff --git a/src/main/python/localization/de.py b/src/main/python/localization/de.py new file mode 100644 index 0000000..8957b30 --- /dev/null +++ b/src/main/python/localization/de.py @@ -0,0 +1,9 @@ +window_title = "Datenlogger Tool" +file_selection = "Dateiauswahl" +button_go = "Start" +button_set_src_file = "Datei.." +button_use_src_dir = "Gleicher Ordner" +date_selection = "Zeitbereich" +options = "Optionen" +button_otemp = "Ausßentemperatur" +button_ohumidity = "Außenluftfeuchtigkeit" diff --git a/src/main/python/main.py b/src/main/python/main.py new file mode 100755 index 0000000..e3c2064 --- /dev/null +++ b/src/main/python/main.py @@ -0,0 +1,105 @@ +#!/usr/bin/python3 + +from fbs_runtime.application_context.PyQt5 import ApplicationContext +from PyQt5.QtCore import QDateTime, Qt, QTimer +from PyQt5.QtWidgets import (QApplication, QCheckBox, QComboBox, QDateTimeEdit, + QDial, QDialog, QGridLayout, QGroupBox, QHBoxLayout, QLabel, QLineEdit, + QProgressBar, QPushButton, QRadioButton, QScrollBar, QSizePolicy, + QSlider, QSpinBox, QStyleFactory, QTableWidget, QTabWidget, QTextEdit, + QVBoxLayout, QWidget) + +import localization.de as de + +class WidgetGallery(QDialog): + + def __init__(self, parent=None): + super(WidgetGallery, self).__init__(parent) + + self.localization = de + self.srcFileString = "" + self.targetFileString = "" + + styleComboBox = QComboBox() + styleComboBox.addItems(QStyleFactory.keys()) + + self.createFileSelection() + self.createDateSelection() + self.createCheckboxArea() + + mainLayout = QGridLayout() + mainLayout.addLayout(topLayout, 0, 0, 1, 2) + mainLayout.addWidget(self.fileSelectionGroup, 1, 0) + mainLayout.addWidget(self.dateSelectionGroupBox, 1, 1) + mainLayout.addWidget(self.checkboxGroup, 2, 0) + + mainLayout.setRowStretch(1, 1) + mainLayout.setRowStretch(2, 1) + mainLayout.setColumnStretch(0, 1) + mainLayout.setColumnStretch(1, 1) + + self.setLayout(mainLayout) + + self.setWindowTitle(self.localization.window_title) + + def createFileSelection(self): + '''Generate the area containing the file selectors and go button''' + + self.fileSelectionGroup = QGroupBox(self.localization.file_selection) + + # basic object # + buttonGo = QPushButton(self.localization.button_go) + buttonSrcFile = QPushButton(self.localization.button_set_src_file) + srcFileName = QLabel(self.srcFileString) + + buttonTargetFile = QPushButton(self.targetFileString) + buttonUseSrcDir = QCheckBox(self.localization.button_use_src_dir) + + # connectors # + buttonGo.connect(self.run) + buttonSrcFile.connect(self.selectSrcFile) + buttonTargetFile.connect(self.selectTargetFile) + buttonUseSrcDir.connect(self.useSrcDir) + + # layout # + layout = QVBoxLayout() + + layout.addWidget(buttonGo) + layout.addWidget(buttonSrcFile) + layout.addWidget(srcFileName) + + layout.addWidget(buttonTargetFile) + layout.addWidget(buttonUseSrcDir) + + layout.addStretch(1) + self.dateSelectionGroupBox.setLayout(layout) + + def createDateSelection(self): + '''Generate the area containing the date selectors''' + + self.dateSelectionGroupBox = QGroupBox(self.localization.date_selection) + + layout = QVBoxLayout() + #layout.addWidget() # TODO + layout.addStretch(1) + self.topRightGroupBox.setLayout(layout) + + def createCheckboxArea(self): + '''Generate area with configuration options''' + + self.checkboxGroup = QGroupBox(self.localization.options) + + buttonOTemp = QCheckBox(self.localization.button_otemp) + buttonOHumidity = QCheckBox(self.localization.button_ohumidity) + + layout = QVBoxLayout() + layout.addWidget(buttonOTemp) + layout.addWidget(buttonOHumidity) + layout.addStretch(1) + self.topRightGroupBox.setLayout(layout) + + +if __name__ == '__main__': + appctxt = ApplicationContext() + gallery = WidgetGallery() + gallery.show() + sys.exit(appctxt.app.exec_())