Seite 1 von 1

PySimpleGUI - Maximize

Verfasst: Mittwoch 15. Januar 2020, 16:13
von Kirikkayis
Hey,

ich benutze für eine kleine GUI "PythonSimpleGUI".

Mein Code sieht wie folgt aus:

Code: Alles auswählen

import PySimpleGUI as sg
sg.theme('Light Brown 13')  

layout = [  [sg.Text('Path')],
            [sg.Input(), sg.FileBrowse()], 
            [sg.Text('Target')],
            [sg.In(), sg.FolderBrowse()],
            [sg.Text('Filename')],
            [sg.In()],
            [sg.Text('Number')],
            [sg.In()],
            [sg.Radio('1. Mapping',"RADIO1", default=True),sg.Radio('2. Mapping',"RADIO1"),sg.Radio('3. Mapping',"RADIO1")],
            [sg.OK()]]
           
window = sg.Window('Mapping', layout, size=(600,800))
Nun würde ich gerne das Fenster im Vollbildmodus haben.
Jemand eine Idee?
mit
window.Maximize()
funktioniert es leider nicht.

Re: PySimpleGUI - Maximize

Verfasst: Mittwoch 15. Januar 2020, 16:48
von Sirius3
Was heißt "funktioniert nicht"? Wie sieht der Code aus, was für eine Fehlermeldung inklusive Traceback kommt?

Re: PySimpleGUI - Maximize

Verfasst: Mittwoch 15. Januar 2020, 16:55
von __blackjack__
Was heisst ”funktioniert” nicht? Die Methode gibt es und die sollte grundsätzlich das machen was Du willst. Die Frage ist also wo/wie Du das integriert hast und was darauf hin passiert und/oder auf der Konsole ausgegeben wird.

Ich würde das übrigens klein schreiben, weil sich das Projekt jetzt doch an PEP8 halten will. So wirklich vertrauenswürdig finde ich das Projekt an sich aber schon nicht. Da steht zum Beispiel das bei Linux nach einem `maximize()` nicht mehr alles wie erwartet funktioniert. Mehrzeilige Texteingaben beispielsweise gar nicht mehr. WTF‽ Um das ohne Callbacks und OOP benutzbar zu machen versuchen die auch die Tk-Hauptschleife mit `update()` selbst nach zu basteln, was man eigentlich nicht machen sollte, weil man die nicht 100% von ”aussen” nachbauen kann.

Re: PySimpleGUI - Maximize

Verfasst: Donnerstag 16. Januar 2020, 07:28
von Kirikkayis
Hey,
Da steht zum Beispiel das bei Linux nach einem `maximize()` nicht mehr alles wie erwartet funktioniert. Mehrzeilige Texteingaben beispielsweise gar nicht mehr. WTF‽
Das habe ich tatsächlich auch gelesen.

Mein Code sieht wie folgt aus ...

Code: Alles auswählen

import PySimpleGUI as sg
sg.theme('Light Brown 13')  

layout = [  [sg.Text('Path')],
            [sg.Input(), sg.FileBrowse()], 
            [sg.Text('Target')],
            [sg.In(), sg.FolderBrowse()],
            [sg.Text('Filename')],
            [sg.In()],
            [sg.Text('Number')],
            [sg.In()],
            [sg.Radio('1. Mapping',"RADIO1", default=True),sg.Radio('2. Mapping',"RADIO1"),sg.Radio('3. Mapping',"RADIO1")],
            [sg.OK()]]
           
window = sg.Window('Mapping', layout, size=(600,800))
window.maximize()
--> Es gibt keine Fehlermeldung oder sonstiges. Die Anwendung startet einfach nicht im Vollbild.

Re: PySimpleGUI - Maximize

Verfasst: Freitag 17. Januar 2020, 09:54
von JakobDev
Dann bleibt die wohl nichts anderes übrig, als den Bug zu melden. Wenn laut Dokumentation das Fenster durch diese Fuktion in den Vollbild gehen sollte, aber nichts passiert, handelt es sich um einen Bug, an dem du nichts ändern kannst.

Ich würde dir trotzdem empfehlen, dir ein besseres Toolkit wie tkinter, wxWidgets, GTK oder Qt zu verwenden. Das zu lernen ist im Gegensatz zum Nutzen nicht so viel Arbeit und du hast weit mehr Möglichkeiten. Ich persönlich würde dir PyQt empfehlen.

Re: PySimpleGUI - Maximize

Verfasst: Freitag 17. Januar 2020, 10:00
von sparrow
@Kirikkayis und wenn du die Angabe der Größe des Fensters weg lässt?

Re: PySimpleGUI - Maximize

Verfasst: Dienstag 21. Januar 2020, 11:32
von Kirikkayis
@sparrow, selbst da funktioniert es nicht.

Ich hab jetzt etwas "gemurkst" ... ich frage die Fenstergrößen einfach ab und schreibe diese in size=(x,y) ....