如何在 tkinter 中为多个 OptionMenu 添加标题?

问题描述

我有以下 3 个列表:

owner = ['Spain','United Kingdom','Malaysia']
phase= ['A100','B100','C100']
machine = ['LLT','AAF','GGG','TGF']

使用上面的列表,我正在尝试制作 3 个 OptionMenu,这很好用。但是,当我尝试添加标题时,它看起来不太整洁。

这是我的代码

window = Tk()
window.title("Running Python Script") #Create window
window.geometry('550x300') #geo of the window

def run():
    os.system('python "c:\data\FF\Desktop\PythonFolder\FF_software.py"') 

#The run button (this button runs some other software)
run_button = Button(window,text="Run your Code!",bg="blue",fg="white",command=run)
run_button.grid(column=0,row=0)

#These are the option menus
dd_owner = StringVar(window)
dd_owner.set(owner[0]) #the first value

dd_phase= StringVar(window)
dd_phase.set(phase[0]) 

dd_machine= StringVar(window)
dd_machine.set(machine[0])

w = OptionMenu(window,dd_owner,*owner)
w2 = OptionMenu(window,dd_phase,*phase)
w3 = OptionMenu(window,dd_machine,*machine)

#These are the titles
l1 = Label(window,text='Select Owner',width=15 )  
l1.grid(row=5,column=1)

l2 = Label(window,text='Select phase',width=15 )  
l2.grid(row=6,column=1)

l3 = Label(window,text='Select machine',width=15 )  
l3.grid(row=7,column=1)

w.grid()
w2.grid()
w3.grid()

mainloop()

这是我的结果:

enter image description here

如您所见,它看起来不是很整洁。标题位于选项菜单上方,而不是左侧。

解决方法

w.grid(row=5,column=2)
w2.grid(row=6,column=2)
w3.grid(row=7,column=2)

用这个替换最后 3 行,你就完成了。 您可以根据需要更改列值

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...