Die Kernfrage ist: Wie kann ich die Fenstergroesse in (MyWindow) anpassen?
jenachdem welchen Tab ich waehle sollt die Fenstergroesse nagepasst werden. Letztentlich die das Starttab(Fenster) kleiner als die anderen Fenster. z.b.
Tab 0 : w:150px h:600px
Tab n : w:1000px h:600px
Ich arbeite mit Widget weil ich eine eigene Titelbar (main_title) habe.
Evtl. ist ja der Grundansatz schon falsch. Kann mir hier bitte jemand helfen.
Code: Alles auswählen
from main_widget import Ui_Form
from main_title import TitleWindow
from main import MainWindowApp
from worklogapp.styles import MainStyleUI
class MyWindow(QWidget, Ui_Form):
    def __init__(self, parent=None):
        super(MyWindow, self).__init__(parent)
        self.setupUi(self)
        self.tabs.currentChanged.connect(self.tab_changed_update_frm_)
    def tab_changed_update_frm_(self):
        tab = self.tabs.currentIndex()
        if tab == 0:
            self.setGeometry(50, 50, 150, 600)
        else:
            self.setGeometry(50, 50, 1000, 600)
if __name__ == "__main__":   
    QtCore.QCoreApplication.setAttribute(QtCore.Qt.AA_EnableHighDpiScaling)
    app = MainStyleUI(sys.argv)
    myWin = TitleWindow(widget_2_sub=MyWindow(),icon_path='images/icon.png',title='WLA')
    myWin.show()
    sys.exit(app.exec_())Code: Alles auswählen
from PyQt5.QtWidgets import QMainWindow, QTabWidget, QVBoxLayout
from PyQt5.QtCore import QPropertyAnimation, QRect
from PyQt5.QtWidgets import QMainWindow, QTabWidget
from PyQt5.QtGui import QTransform, QIcon, QPixmap
from worklogapp.frm_editor_log import WindowEditLog
from worklogapp.frm_projekt_eintragen import WindowProjektEintragen
from worklogapp.frm_new_projekt_kst import WindowNewProjKST
from worklogapp.frm_web_to_workside import WindowWebBuchen
from worklogapp.frm_web_terminal import WindowWebTerminal
from worklogapp.frm_auswertung import WindowAusertung
from worklogapp.frm_detailarbeit_eintragen import WindowDetailarbeitEintragen
from worklogapp.styles import MainStyleUI
import locale
import sys
import worklogapp.settings as settings
class Ui_Form(object):
    def setupUi(self, Form):
        self.title = 'WLA'
        self.BOX_H_V = settings.getStrValue('BOX_H_V')
        self.iconcolor = settings.iconpre()
        # Initialize tab screen
        self.tabs = QTabWidget()
        self.tabs.setTabPosition(QTabWidget.West)
        self.animation = QPropertyAnimation(self, b"geometry")
        # Initialize tabwidgets
        self.tab_frm_projekt_eintragen = WindowProjektEintragen()
        self.tab_frm_projekt_eintragen.setFocus_frm_detailarbeiten = self.setFocus_frm_detailarbeiten
        self.tab_frm_new_projekt_kst = WindowNewProjKST()
        self.tab_frm_new_projekt_kst.setFocus_frm_projekte = self.setFocus_frm_projekte
        self.tab_frm_new_projekt_kst.setFocus_frm_detailarbeiten_proj_kst = self.setFocus_frm_detailarbeiten_proj_kst
        self.tab_frm_editor_log = WindowEditLog()
        self.tab_frm_web_to_workside = WindowWebBuchen()
        self.tab_frm_web_terminal = WindowWebTerminal()
        self.tab_frm_auswertung = WindowAusertung()
        self.tab_frm_detailarbeit_eintragen = WindowDetailarbeitEintragen()
        self.tab_frm_detailarbeit_eintragen.setFocus_frm_projekte = self.setFocus_frm_projekte
        self.initUI()
    def initUI(self):
        # Add tabs
        tablist = [[self.tab_frm_projekt_eintragen, self.iconcolor + "cil-home.png"],
                   [self.tab_frm_new_projekt_kst, self.iconcolor + "cil-plus.png"],
                   [self.tab_frm_editor_log, self.iconcolor + "cil-folder-open.png"],
                   [self.tab_frm_web_to_workside, self.iconcolor + "cil-browser.png"],
                   [self.tab_frm_web_terminal, self.iconcolor + "cil-touch-app.png"],
                   [self.tab_frm_auswertung, self.iconcolor + "cil-notes.png"],
                   [self.tab_frm_detailarbeit_eintragen, self.iconcolor + "cil-notes.png"]]
        for x in tablist:
            self.tabs.addTab(x[0], QIcon(QPixmap(settings.iconpath() + x[1]).transformed(QTransform().rotate(90))), '')
        # set "tab_frm_detailarbeit_eintragen" invisible
        self.tabs.setTabVisible(6, False)
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.tabs)
        self.layout.setContentsMargins(0, 0, 0, 0)
        self.layout.addStretch(-1)
        self.setLayout(self.layout)
