-
Notifications
You must be signed in to change notification settings - Fork 94
Description
FreeSimpleGUI version 5.2.0.post1
Python version 3.10.12 on Ubuntu 22.04
I have had difficulty making the Push() function work as the documentation describes. The following code shows the issue. The intent is to have two columns, one containing a Listbox of fruit justified to the left edge of the window and the other containing a Listbox of playing cards justified to the right edge of the window.
When both columns have expand_y = True, the resulting GUI has both columns justified to the left despite having a Push() between them in the window layout. If I comment out the expand_y = True line from the Cards Column (just below the line # This breaks Push()), then suddenly the Push() works and the Cards Column is justified to the right edge. Of course, it is no longer extended vertically the way I want it.
Sample code:
import FreeSimpleGUI as sg default_font = ("Arial", 16) ### FRUIT COLUMN ### fruit_header = sg.Text('Fruit', justification = 'center', expand_x = True) fruit_listbox = sg.Listbox(values = ['apple', 'banana', 'clementine', 'durian'], key = '-FRUIT-', size = (40, None) ) fruit_column = sg.Column( [ [fruit_header], [fruit_listbox] ], expand_y=True, background_color = 'orange') ### CARDS COLUMN ### cards_header = sg.Text('Cards', justification = 'center', expand_x = True) cards_listbox = sg.Listbox(values = ['King', 'Queen', 'Eight', 'Joker'], key = '-CARDS-', size = (40, None) ) cards_column = sg.Column( [ [cards_header], [cards_listbox] ], # This breaks Push() expand_y = True, background_color = 'purple') layout = [ [fruit_column, sg.Push(), cards_column] ] # Create the Window window = sg.Window('Justification Test', layout, resizable=True, finalize=True, size=sg.Window.get_screen_size(), location=(0,0), font = default_font) window.bind('<Escape>', '-ESCAPE-') # Event Loop to process "events" and get the "values" of the inputs while True: event, values = window.read() if event in (sg.WIN_CLOSED, '-ESCAPE-'): break window.close()
Is there a way to have both columns extend the entire height of the window while also being justified to opposite edges horizontally?