Irgendwie ne doofe Frage, aber in Tk habe ich noch keine möglichkeit gefunden sie aus zu lesen.
Wäre toll, wenn mir wer auf die sprünge helfen könnte

Was mich auch noch interessiert, wie kann ein Widget 100% in einem Grid einnehmen?
lg Richi
Code: Alles auswählen
# looking at the Tkinter grid() layout manager
#
# The size of a grid cell in a given row or column is
# determined by its largest widget.
#
# If you give a grid layout more space than it needs,
# it will fill this space from its center on out.
# A way around this is to use place() with a frame and
# then grid() within this frame.
#
# Grid does not have an anchor positioner.
#
# You can use place() and grid(), but not pack() and grid()
# within the same container widget.
#
# You can put a child grid into a parent grid.
try:
# Python2
import Tkinter as tk
except ImportError:
# Python3
import tkinter as tk
root = tk.Tk()
root.title('Grid layout')
root['bg'] = 'yellow'
b1 = tk.Button(root, text="Button1")
b2 = tk.Button(root, text="Button2", bg='green')
b3 = tk.Button(root, text="Button3")
b4 = tk.Button(root, text="Button4")
b5 = tk.Button(root, text="Button5")
b6 = tk.Button(root, text="Button6")
b7 = tk.Button(root, text="Button7", bg='blue')
# button b8 has a 3 row text
b8 = tk.Button(root, text="\nButton8\n", bg='red')
b1.grid(row=0, column=1)
# use sticky=tk.E+tk.W or sticky='ew'
b2.grid(row=1, column=0, columnspan=3, sticky='ew')
b3.grid(row=2, column=0, pady=5)
b4.grid(row=2, column=1)
# gives the entire column=2 padx=10 padding!
b5.grid(row=2, column=2, padx=10)
b6.grid(row=3, column=2)
# forces button b7 to take up padded space too
b7.grid(row=4, column=2, ipadx=10)
# button b8 has a 3 row text, so give it rowspan=3
b8.grid(row=5, column=0, rowspan=3, columnspan=3, sticky='ew')
# dictionary of grid info for button b8
print( b8.grid_info() )
# specific info about b8
print( b8.grid_info()['row'] ) # 5
# get size of root, update is needed!
root.update()
width = root.winfo_width() # 158
print(width)
height = root.winfo_height() # 174
print(height)
root.mainloop()
Code: Alles auswählen
import Tkinter as tk
app_win = tk.Tk()
app_win_width = app_win.winfo_reqwidth()
app_win_height = app_win.winfo_reqheight()
print app_win_width, app_win_height
app_win.mainloop()
Code: Alles auswählen
import Tkinter
root = Tkinter.Tk()
def window_size():
print root.winfo_width(), 'WIDTH', root.winfo_height(), 'HEIGHT'
btn = Tkinter.Button(text='window size', command=window_size)
btn.pack()
root.mainloop()
Code: Alles auswählen
import Tkinter
root = Tkinter.Tk()
def window_size():
print root.winfo_width(), 'WIDTH', root.winfo_height(), 'HEIGHT'
window_size()
root.mainloop()
Code: Alles auswählen
1 WIDTH 1 HEIGHT
Code: Alles auswählen
import Tkinter
def window_size():
print root.winfo_width(), 'WIDTH', root.winfo_height(), 'HEIGHT'
root = Tkinter.Tk()
root_width = root.winfo_reqwidth()
root_height = root.winfo_reqheight()
root.geometry('%dx%d' % (root_width, root_height))
btn = Tkinter.Button(text='window size', command=window_size)
btn.pack()