create medienadder window, add functionality

This commit is contained in:
WorldTeacher
2024-07-02 07:48:07 +02:00
parent cab914f630
commit f0f0ef74c1

View File

@@ -1,8 +1,56 @@
from PyQt6 import QtCore, QtGui, QtWidgets
from src import MyLogger
from .dialog_sources.Ui_medianadder import Ui_Dialog
class MedienAdder(QtWidgets.QDialog, Ui_Dialog):
def __init__(self, parent=None):
super().__init__(parent)
self.setupUi(self)
self.color_table()
self.mode = ""
self.data = []
self.lineEdit.returnPressed.connect(self.add_signature)
self.btn_cancel.clicked.connect(self.close)
self.btn_save.clicked.connect(self.send_data)
def add_signature(self):
signature = self.lineEdit.text()
self.listWidget.addItem(signature.strip())
self.lineEdit.clear()
def get_list_data(self) -> list:
signatures = self.listWidget.findItems("*", QtCore.Qt.MatchFlag.MatchWildcard)
return [signature.text() for signature in signatures]
def get_mode(self) -> str:
return self.comboBox.currentText()
def send_data(self):
self.mode = self.get_mode()
self.data = self.get_list_data()
self.accept()
def color_table(self):
# set tree cells to red, if it is 0, to green if it is 1. remove digits after comma
for row in range(self.tableWidget.rowCount()):
for col in range(self.tableWidget.columnCount()):
item = self.tableWidget.item(row, col)
if item is not None:
if item.text() == "0":
item.setBackground(QtGui.QColor("red"))
item.setText("")
elif item.text() == "1":
item.setBackground(QtGui.QColor("green"))
item.setText("")
else:
item.setText(item.text().split(".")[0])
def lauhc_gui():
app = QtWidgets.QApplication([])
dialog = MedienAdder()
dialog.show()
app.exec()
print(dialog.mode, dialog.data, dialog.result())