Layout steht.

This commit is contained in:
2025-05-21 20:26:03 +02:00
parent c2e8fb592f
commit a907a8b8f9
4 changed files with 270 additions and 47 deletions
+32 -1
View File
@@ -1,5 +1,8 @@
import os
from PySide6.QtWidgets import QMainWindow from PySide6.QtWidgets import QMainWindow
from src.ui.MainWinddow_ui import Ui_MainWindow from PySide6.QtGui import QPixmap
# from PySide6.QtCore import Qt
from ui.MainWinddow_ui import Ui_MainWindow
class MainWindow(QMainWindow): class MainWindow(QMainWindow):
@@ -16,9 +19,37 @@ class MainWindow(QMainWindow):
self.ui = Ui_MainWindow() self.ui = Ui_MainWindow()
self.ui.setupUi(self) self.ui.setupUi(self)
# Bilder korrekt laden
self._load_images()
# Signale und Slots verbinden # Signale und Slots verbinden
self._connect_signals() self._connect_signals()
def _load_images(self):
"""Lädt die Bilder mit absoluten Pfaden."""
base_dir = os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
# Absolute Pfade zu den Bildern erstellen
img1_path = os.path.join(base_dir, "src", "ui", "res", "graf_1.gif")
img2_path = os.path.join(base_dir, "src", "ui", "res", "graf_3.gif")
print(repr(self.ui.label), img2_path)
# Bilder setzen, wenn die Dateien existieren
if os.path.exists(img1_path):
self.ui.label.setPixmap(QPixmap(img1_path).scaledToWidth(200))
self.ui.label_3.setPixmap(QPixmap(img1_path))
else:
self.ui.label.setText(f"Fehler: Bild nicht gefunden: {img1_path}")
self.ui.label_3.setText(f"Fehler: Bild nicht gefunden: {img1_path}")
if os.path.exists(img2_path):
self.ui.label_2.setPixmap(QPixmap(img2_path).scaledToWidth(200))
self.ui.label_4.setPixmap(QPixmap(img2_path))
else:
self.ui.label_2.setText(f"Fehler: Bild nicht gefunden: {img2_path}")
self.ui.label_4.setText(f"Fehler: Bild nicht gefunden: {img2_path}")
def _connect_signals(self): def _connect_signals(self):
"""Verbindet Signale mit den entsprechenden Slots.""" """Verbindet Signale mit den entsprechenden Slots."""
# Beispiel für Signal-Verbindung: # Beispiel für Signal-Verbindung:
+1 -1
View File
@@ -1,6 +1,6 @@
import sys import sys
from PySide6.QtWidgets import QApplication from PySide6.QtWidgets import QApplication
from src.MainWindow import MainWindow from MainWindow import MainWindow
def main(): def main():
+142 -26
View File
@@ -6,7 +6,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>455</width> <width>1348</width>
<height>921</height> <height>921</height>
</rect> </rect>
</property> </property>
@@ -17,6 +17,12 @@
<layout class="QHBoxLayout" name="horizontalLayout"> <layout class="QHBoxLayout" name="horizontalLayout">
<item> <item>
<widget class="QFrame" name="frame"> <widget class="QFrame" name="frame">
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Preferred">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="frameShape"> <property name="frameShape">
<enum>QFrame::Shape::StyledPanel</enum> <enum>QFrame::Shape::StyledPanel</enum>
</property> </property>
@@ -25,34 +31,34 @@
</property> </property>
<layout class="QVBoxLayout" name="verticalLayout"> <layout class="QVBoxLayout" name="verticalLayout">
<item> <item>
<widget class="QFrame" name="frame_2"> <widget class="QTreeWidget" name="treeWidget">
<property name="frameShape"> <property name="sizePolicy">
<enum>QFrame::Shape::StyledPanel</enum> <sizepolicy hsizetype="Minimum" vsizetype="Expanding">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property> </property>
<property name="columnCount">
<number>2</number>
</property>
<column>
<property name="text">
<string notr="true">1</string>
</property>
</column>
<column>
<property name="text">
<string notr="true">2</string>
</property>
</column>
</widget>
</item>
<item>
<widget class="QFrame" name="frame_2">
<property name="frameShadow"> <property name="frameShadow">
<enum>QFrame::Shadow::Raised</enum> <enum>QFrame::Shadow::Raised</enum>
</property> </property>
<layout class="QHBoxLayout" name="horizontalLayout_2"> <layout class="QHBoxLayout" name="horizontalLayout_2">
<item>
<widget class="QPushButton" name="pushButton">
<property name="layoutDirection">
<enum>Qt::LayoutDirection::LeftToRight</enum>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>PushButton</string>
</property>
</widget>
</item>
<item> <item>
<spacer name="horizontalSpacer"> <spacer name="horizontalSpacer">
<property name="orientation"> <property name="orientation">
@@ -66,6 +72,32 @@
</property> </property>
</spacer> </spacer>
</item> </item>
<item>
<widget class="QPushButton" name="pushButton">
<property name="layoutDirection">
<enum>Qt::LayoutDirection::LeftToRight</enum>
</property>
<property name="text">
<string>nur geänderte generieren</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::MediaPlaybackStart"/>
</property>
</widget>
</item>
<item>
<widget class="QPushButton" name="pushButton_2">
<property name="autoFillBackground">
<bool>false</bool>
</property>
<property name="text">
<string>Alle generieren</string>
</property>
<property name="icon">
<iconset theme="QIcon::ThemeIcon::MediaSeekForward"/>
</property>
</widget>
</item>
</layout> </layout>
</widget> </widget>
</item> </item>
@@ -73,10 +105,94 @@
</widget> </widget>
</item> </item>
<item> <item>
<widget class="Line" name="line"> <widget class="QScrollArea" name="scrollArea">
<property name="sizePolicy">
<sizepolicy hsizetype="Minimum" vsizetype="Minimum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>2480</width>
<height>7070</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_2">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>res/graf_1.gif</pixmap>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_2">
<property name="text">
<string/>
</property>
<property name="pixmap">
<pixmap>res/graf_3.gif</pixmap>
</property>
</widget>
</item>
<item>
<spacer name="verticalSpacer">
<property name="orientation"> <property name="orientation">
<enum>Qt::Orientation::Vertical</enum> <enum>Qt::Orientation::Vertical</enum>
</property> </property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
</widget>
</item>
<item>
<widget class="QScrollArea" name="scrollArea_2">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="scrollAreaWidgetContents_2">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>377</width>
<height>847</height>
</rect>
</property>
<layout class="QVBoxLayout" name="verticalLayout_3">
<item>
<widget class="QLabel" name="label_3">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
<item>
<widget class="QLabel" name="label_4">
<property name="text">
<string>TextLabel</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget> </widget>
</item> </item>
</layout> </layout>
@@ -86,7 +202,7 @@
<rect> <rect>
<x>0</x> <x>0</x>
<y>0</y> <y>0</y>
<width>455</width> <width>1348</width>
<height>33</height> <height>33</height>
</rect> </rect>
</property> </property>
+93 -17
View File
@@ -15,64 +15,136 @@ from PySide6.QtGui import (QBrush, QColor, QConicalGradient, QCursor,
QFont, QFontDatabase, QGradient, QIcon, QFont, QFontDatabase, QGradient, QIcon,
QImage, QKeySequence, QLinearGradient, QPainter, QImage, QKeySequence, QLinearGradient, QPainter,
QPalette, QPixmap, QRadialGradient, QTransform) QPalette, QPixmap, QRadialGradient, QTransform)
from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QMainWindow, from PySide6.QtWidgets import (QApplication, QFrame, QHBoxLayout, QHeaderView,
QMenuBar, QPushButton, QSizePolicy, QSpacerItem, QLabel, QMainWindow, QMenuBar, QPushButton,
QStatusBar, QVBoxLayout, QWidget) QScrollArea, QSizePolicy, QSpacerItem, QStatusBar,
QTreeWidget, QTreeWidgetItem, QVBoxLayout, QWidget)
class Ui_MainWindow(object): class Ui_MainWindow(object):
def setupUi(self, MainWindow): def setupUi(self, MainWindow):
if not MainWindow.objectName(): if not MainWindow.objectName():
MainWindow.setObjectName(u"MainWindow") MainWindow.setObjectName(u"MainWindow")
MainWindow.resize(455, 921) MainWindow.resize(1348, 921)
self.centralwidget = QWidget(MainWindow) self.centralwidget = QWidget(MainWindow)
self.centralwidget.setObjectName(u"centralwidget") self.centralwidget.setObjectName(u"centralwidget")
self.horizontalLayout = QHBoxLayout(self.centralwidget) self.horizontalLayout = QHBoxLayout(self.centralwidget)
self.horizontalLayout.setObjectName(u"horizontalLayout") self.horizontalLayout.setObjectName(u"horizontalLayout")
self.frame = QFrame(self.centralwidget) self.frame = QFrame(self.centralwidget)
self.frame.setObjectName(u"frame") self.frame.setObjectName(u"frame")
sizePolicy = QSizePolicy(QSizePolicy.Policy.Maximum, QSizePolicy.Policy.Preferred)
sizePolicy.setHorizontalStretch(0)
sizePolicy.setVerticalStretch(0)
sizePolicy.setHeightForWidth(self.frame.sizePolicy().hasHeightForWidth())
self.frame.setSizePolicy(sizePolicy)
self.frame.setFrameShape(QFrame.Shape.StyledPanel) self.frame.setFrameShape(QFrame.Shape.StyledPanel)
self.frame.setFrameShadow(QFrame.Shadow.Raised) self.frame.setFrameShadow(QFrame.Shadow.Raised)
self.verticalLayout = QVBoxLayout(self.frame) self.verticalLayout = QVBoxLayout(self.frame)
self.verticalLayout.setObjectName(u"verticalLayout") self.verticalLayout.setObjectName(u"verticalLayout")
self.treeWidget = QTreeWidget(self.frame)
__qtreewidgetitem = QTreeWidgetItem()
__qtreewidgetitem.setText(1, u"2");
__qtreewidgetitem.setText(0, u"1");
self.treeWidget.setHeaderItem(__qtreewidgetitem)
self.treeWidget.setObjectName(u"treeWidget")
sizePolicy1 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
sizePolicy1.setHorizontalStretch(0)
sizePolicy1.setVerticalStretch(0)
sizePolicy1.setHeightForWidth(self.treeWidget.sizePolicy().hasHeightForWidth())
self.treeWidget.setSizePolicy(sizePolicy1)
self.treeWidget.setColumnCount(2)
self.verticalLayout.addWidget(self.treeWidget)
self.frame_2 = QFrame(self.frame) self.frame_2 = QFrame(self.frame)
self.frame_2.setObjectName(u"frame_2") self.frame_2.setObjectName(u"frame_2")
self.frame_2.setFrameShape(QFrame.Shape.StyledPanel)
self.frame_2.setFrameShadow(QFrame.Shadow.Raised) self.frame_2.setFrameShadow(QFrame.Shadow.Raised)
self.horizontalLayout_2 = QHBoxLayout(self.frame_2) self.horizontalLayout_2 = QHBoxLayout(self.frame_2)
self.horizontalLayout_2.setObjectName(u"horizontalLayout_2") self.horizontalLayout_2.setObjectName(u"horizontalLayout_2")
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_2.addItem(self.horizontalSpacer)
self.pushButton = QPushButton(self.frame_2) self.pushButton = QPushButton(self.frame_2)
self.pushButton.setObjectName(u"pushButton") self.pushButton.setObjectName(u"pushButton")
self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight) self.pushButton.setLayoutDirection(Qt.LayoutDirection.LeftToRight)
icon = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaPlaybackStart))
self.pushButton.setIcon(icon)
self.horizontalLayout_2.addWidget(self.pushButton) self.horizontalLayout_2.addWidget(self.pushButton)
self.pushButton_2 = QPushButton(self.frame_2) self.pushButton_2 = QPushButton(self.frame_2)
self.pushButton_2.setObjectName(u"pushButton_2") self.pushButton_2.setObjectName(u"pushButton_2")
self.pushButton_2.setAutoFillBackground(False) self.pushButton_2.setAutoFillBackground(False)
icon1 = QIcon(QIcon.fromTheme(QIcon.ThemeIcon.MediaSeekForward))
self.pushButton_2.setIcon(icon1)
self.horizontalLayout_2.addWidget(self.pushButton_2) self.horizontalLayout_2.addWidget(self.pushButton_2)
self.horizontalSpacer = QSpacerItem(40, 20, QSizePolicy.Policy.Expanding, QSizePolicy.Policy.Minimum)
self.horizontalLayout_2.addItem(self.horizontalSpacer)
self.verticalLayout.addWidget(self.frame_2) self.verticalLayout.addWidget(self.frame_2)
self.horizontalLayout.addWidget(self.frame) self.horizontalLayout.addWidget(self.frame)
self.line = QFrame(self.centralwidget) self.scrollArea = QScrollArea(self.centralwidget)
self.line.setObjectName(u"line") self.scrollArea.setObjectName(u"scrollArea")
self.line.setFrameShape(QFrame.Shape.VLine) sizePolicy2 = QSizePolicy(QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Minimum)
self.line.setFrameShadow(QFrame.Shadow.Sunken) sizePolicy2.setHorizontalStretch(0)
sizePolicy2.setVerticalStretch(0)
sizePolicy2.setHeightForWidth(self.scrollArea.sizePolicy().hasHeightForWidth())
self.scrollArea.setSizePolicy(sizePolicy2)
self.scrollArea.setWidgetResizable(True)
self.scrollAreaWidgetContents = QWidget()
self.scrollAreaWidgetContents.setObjectName(u"scrollAreaWidgetContents")
self.scrollAreaWidgetContents.setGeometry(QRect(0, 0, 2480, 7070))
self.verticalLayout_2 = QVBoxLayout(self.scrollAreaWidgetContents)
self.verticalLayout_2.setObjectName(u"verticalLayout_2")
self.label = QLabel(self.scrollAreaWidgetContents)
self.label.setObjectName(u"label")
self.label.setPixmap(QPixmap(u"res/graf_1.gif"))
self.horizontalLayout.addWidget(self.line) self.verticalLayout_2.addWidget(self.label)
self.label_2 = QLabel(self.scrollAreaWidgetContents)
self.label_2.setObjectName(u"label_2")
self.label_2.setPixmap(QPixmap(u"res/graf_3.gif"))
self.verticalLayout_2.addWidget(self.label_2)
self.verticalSpacer = QSpacerItem(20, 40, QSizePolicy.Policy.Minimum, QSizePolicy.Policy.Expanding)
self.verticalLayout_2.addItem(self.verticalSpacer)
self.scrollArea.setWidget(self.scrollAreaWidgetContents)
self.horizontalLayout.addWidget(self.scrollArea)
self.scrollArea_2 = QScrollArea(self.centralwidget)
self.scrollArea_2.setObjectName(u"scrollArea_2")
self.scrollArea_2.setWidgetResizable(True)
self.scrollAreaWidgetContents_2 = QWidget()
self.scrollAreaWidgetContents_2.setObjectName(u"scrollAreaWidgetContents_2")
self.scrollAreaWidgetContents_2.setGeometry(QRect(0, 0, 377, 847))
self.verticalLayout_3 = QVBoxLayout(self.scrollAreaWidgetContents_2)
self.verticalLayout_3.setObjectName(u"verticalLayout_3")
self.label_3 = QLabel(self.scrollAreaWidgetContents_2)
self.label_3.setObjectName(u"label_3")
self.verticalLayout_3.addWidget(self.label_3)
self.label_4 = QLabel(self.scrollAreaWidgetContents_2)
self.label_4.setObjectName(u"label_4")
self.verticalLayout_3.addWidget(self.label_4)
self.scrollArea_2.setWidget(self.scrollAreaWidgetContents_2)
self.horizontalLayout.addWidget(self.scrollArea_2)
MainWindow.setCentralWidget(self.centralwidget) MainWindow.setCentralWidget(self.centralwidget)
self.menubar = QMenuBar(MainWindow) self.menubar = QMenuBar(MainWindow)
self.menubar.setObjectName(u"menubar") self.menubar.setObjectName(u"menubar")
self.menubar.setGeometry(QRect(0, 0, 455, 33)) self.menubar.setGeometry(QRect(0, 0, 1348, 33))
MainWindow.setMenuBar(self.menubar) MainWindow.setMenuBar(self.menubar)
self.statusbar = QStatusBar(MainWindow) self.statusbar = QStatusBar(MainWindow)
self.statusbar.setObjectName(u"statusbar") self.statusbar.setObjectName(u"statusbar")
@@ -85,7 +157,11 @@ class Ui_MainWindow(object):
def retranslateUi(self, MainWindow): def retranslateUi(self, MainWindow):
MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None)) MainWindow.setWindowTitle(QCoreApplication.translate("MainWindow", u"MainWindow", None))
self.pushButton.setText(QCoreApplication.translate("MainWindow", u"PushButton", None)) self.pushButton.setText(QCoreApplication.translate("MainWindow", u"nur ge\u00e4nderte generieren", None))
self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"PushButton", None)) self.pushButton_2.setText(QCoreApplication.translate("MainWindow", u"Alle generieren", None))
self.label.setText("")
self.label_2.setText("")
self.label_3.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
self.label_4.setText(QCoreApplication.translate("MainWindow", u"TextLabel", None))
# retranslateUi # retranslateUi