如何解决选项菜单对齐问题tkinter
我正在尝试在两个标签下面添加两个下拉列表,说明它们的含义。问题是每当我运行它时,第二个列表就会向左偏移。这发生在setupPage部分中,如下所示: image of the issue
我尝试了很多粘稠的组合,但都无济于事。任何帮助将不胜感激。
代码:
process.on("uncaughtException",(error: Error) => {
(async () => {
await this.errorHandler(error);
// ...
})();
});
解决方法
标签的父级和OptionMenus不同。 将父母改为root而不是内容似乎很有效
from tkinter import *
from tkinter import ttk
root = Tk()
def startPage(root):
print("oi")
content = ttk.Frame(root) #frame for plaing everything into
#frame = ttk.Frame(content,borderwidth=5,relief="sunken",width=200,height=100) #fram for plaxing images
lbl1 = ttk.Label(content,text="Is this a new or existing site?",font=("arial",12)) #setup of label for screen 1
yesvar = BooleanVar() #variables for check boxes later on
novar = BooleanVar()
yesvar.set(False)
novar.set(False)
one = ttk.Checkbutton(content,text="Yes",variable=yesvar,onvalue=True) #check buttons setup
two = ttk.Checkbutton(content,text="No",variable=novar,onvalue=True)
ok = ttk.Button(content,text="New",command = nextPage) #setup for buttons screen 1
cancel = ttk.Button(content,text="Existing")
content.grid(column=0,row=0) #intilises content
#frame.grid(column=0,row=0,columnspan=3,rowspan=2)
lbl1.grid(column=0,pady=10,padx=10) #places the label asking the question with a gap either side for the window bindings
#name.grid(column=3,row=1,columnspan=2)
#one.grid(column=0,row=3)
#two.grid(column=1,row=3)
ok.grid(column=0,padx=10) #places yes button 10 away from each edge
cancel.grid(column=1,padx=10) #as above
def setupPage(root):
#content = ttk.Frame(root) #frame for plaing everything into
#frame = ttk.Frame(content,height=100) #fram for plaxing images
lbl1 = ttk.Label(root,text="Select meterial 1",12)) #setup of label for screen 1
lbl2 = ttk.Label(root,text = "Select meterial 2",font = ("arial",12))
#content.grid(column=0,row=0)
lbl1.grid(column=0,columnspan=1,padx=10)
lbl2.grid(column=1,padx=10)
clicked = StringVar()
clicked.set("lo2")
clicked2 = StringVar()
clicked2.set("lo2")
drop2 = OptionMenu(root,clicked2,"lo2","mo3","Lo2+mo3")
drop = OptionMenu(root,clicked,"Lo2+mo3")
drop.grid(column=0,padx=10,sticky=NW)
drop2.grid(column=1,sticky=NW)
def nextPage():
print("oi2")
global pagenum,root
for widget in root.winfo_children():
widget.destroy()
if pagenum == 1:
print("oi3")
setupPage(root)
pagenum = 2
else :
startPage(root)
pagenum = 1
startPage(root)
pagenum = 1
root.mainloop()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。