Tkinter grid() alignment issue in python -
Tkinter grid() alignment issue in python -
i have been working in python first time , trying these labels align in right columns , right row reason doesn't move downwards rows , columns not right either. help much appreciated!
code:
tkinter import * import sys #setup gui #create main window main = tk(); #create title of main window main.title = "waterizer 1.0"; #create default size of main window main.geometry("1024x768"); #lets fram stick info in plan on using mainapp = frame(main); #snap grid mainapp.grid(); #font main labels labelfont = ('times', 20, 'bold'); #label powerfulness powerlabel = label(mainapp, text="power status"); powerlabel.config(fg="red", bd="1"); powerlabel.config(font=labelfont); powerlabel.grid( row=0,column=20,columnspan=4, sticky = w); #label water waterlabel = label(mainapp, text="water status"); waterlabel.config(fg="blue", bd="1"); waterlabel.config(font=labelfont); waterlabel.grid(row=20, column=20, columnspan=4, sticky = w);
now attach image guys see how displays... not right :-(
if row or column not contain anything, of size 1 pixel, small. see in output 2 text 20 rows apart. add together in widgets, , see result.
you can utilize grid_rowconfigure
, grid_columnconfigure
, sticky
properties in order specify how widget in grid stretches. way can place widgets in right screen locations.
have @ reply here more details on how utilize grid properties: tkinter. subframe of root not show
to understand grid better, added widget code:
from tkinter import * import sys tkinter.scrolledtext import scrolledtext #setup gui #create main window main = tk() #create title of main window main.title = "waterizer 1.0" #create default size of main window main.geometry("1024x768") #lets fram stick info in plan on using mainapp = frame(main) #snap grid mainapp.grid(row=0, column=0, sticky='nsew') #main grid stretching properties main.grid_columnconfigure(0, weight=1) main.grid_rowconfigure(0, weight=1) #font main labels labelfont = ('times', 20, 'bold') #label powerfulness powerlabel = label(mainapp, text="power status") powerlabel.config(fg="red", bd="1") powerlabel.config(font=labelfont) powerlabel.grid( row=0,column=20, sticky = w) #label water waterlabel = label(mainapp, text="water status") waterlabel.config(fg="blue", bd="1") waterlabel.config(font=labelfont) waterlabel.grid(row=20, column=20, sticky = w) #scrolltext fill in between space scrolltext = scrolledtext(mainapp) scrolltext.grid(row=1, column=20,sticky = 'nsew') #mainapp grid stretching properties mainapp.grid_rowconfigure(1, weight=1) mainapp.grid_columnconfigure(20, weight=1) main.mainloop()
try this.
ps: not need ;
after every line python
python tkinter grid rows multiple-columns
Comments
Post a Comment