Python OptionMenu()未在tkinter中显示

Python OptionMenu()未在tkinter中显示,python,tkinter,Python,Tkinter,我有以下代码尝试在Tkinter中显示下拉菜单 import tkinter as tk from tkinter import * Options=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10'] root = tk.Tk() name_var = tk.StringVar() passw_var = tk.StringVar() tries_var = tk.StringVar() nrco_var = tk.StringVar(

我有以下代码尝试在Tkinter中显示下拉菜单

import tkinter as tk
from tkinter import *

Options=['1', '2', '3', '4', '5', '6', '7', '8', '9', '10']

root = tk.Tk()


name_var = tk.StringVar()
passw_var = tk.StringVar()
tries_var = tk.StringVar()
nrco_var = tk.StringVar(root)
nrcrn1_var = tk.StringVar()
nrcrn2_var = tk.StringVar()
nrcrn3_var = tk.StringVar()
nrcrn4_var = tk.StringVar()
nrcrn5_var = tk.StringVar()
nrcrn6_var = tk.StringVar()
nrcrn7_var = tk.StringVar()
nrcrn8_var = tk.StringVar()
nrcrn9_var = tk.StringVar()
nrcrn10_var = tk.StringVar()

nrco_var.set(Options[0])
w=OptionMenu(root, nrco_var, *Options)


name_label = tk.Label(root, text='Username', font=('calibre', 10, 'bold'))
name_entry = tk.Entry(root, textvariable=name_var, font=('calibre', 10, 'normal'))
passw_label = tk.Label(root, text='Password', font=('calibre', 10, 'bold'))
passw_entry = tk.Entry(root, textvariable=passw_var, font=('calibre', 10, 'normal'), show='*')
tries_label = tk.Label(root, text='Number Of Tries', font=('calibre', 10, 'bold'))
tries_entry = tk.Entry(root, textvariable=tries_var, font=('calibre', 10, 'normal'))
nrco_label = tk.Label(root, text='Number Of C To Register', font=('calibre', 10, 'bold'))
nrcrn1_label = tk.Label(root, text='CRN1', font=('calibre', 10, 'bold'))
nrcrn1_entry = tk.Entry(root, textvariable=nrcrn1_var, font=('calibre', 10, 'normal'))
nrcrn2_label = tk.Label(root, text='CRN2', font=('calibre', 10, 'bold'))
nrcrn2_entry = tk.Entry(root, textvariable=nrcrn2_var, font=('calibre', 10, 'normal'))
nrcrn3_label = tk.Label(root, text='CRN3', font=('calibre', 10, 'bold'))
nrcrn3_entry = tk.Entry(root, textvariable=nrcrn3_var, font=('calibre', 10, 'normal'))
nrcrn4_label = tk.Label(root, text='CRN4', font=('calibre', 10, 'bold'))
nrcrn4_entry = tk.Entry(root, textvariable=nrcrn4_var, font=('calibre', 10, 'normal'))
nrcrn5_label = tk.Label(root, text='CRN5', font=('calibre', 10, 'bold'))
nrcrn5_entry = tk.Entry(root, textvariable=nrcrn5_var, font=('calibre', 10, 'normal'))
nrcrn6_label = tk.Label(root, text='CRN6', font=('calibre', 10, 'bold'))
nrcrn6_entry = tk.Entry(root, textvariable=nrcrn6_var, font=('calibre', 10, 'normal'))
nrcrn7_label = tk.Label(root, text='CRN7', font=('calibre', 10, 'bold'))
nrcrn7_entry = tk.Entry(root, textvariable=nrcrn7_var, font=('calibre', 10, 'normal'))
nrcrn8_label = tk.Label(root, text='CRN8', font=('calibre', 10, 'bold'))
nrcrn8_entry = tk.Entry(root, textvariable=nrcrn8_var, font=('calibre', 10, 'normal'))
nrcrn9_label = tk.Label(root, text='CRN9', font=('calibre', 10, 'bold'))
nrcrn9_entry = tk.Entry(root, textvariable=nrcrn9_var, font=('calibre', 10, 'normal'))
nrcrn10_label = tk.Label(root, text='CRN10', font=('calibre', 10, 'bold'))
nrcrn10_entry = tk.Entry(root, textvariable=nrcrn10_var, font=('calibre', 10, 'normal'))


name_label.grid(row=0, column=0)
name_entry.grid(row=0, column=1)
passw_label.grid(row=1, column=0)
passw_entry.grid(row=1, column=1)
tries_label.grid(row=2, column=0)
tries_entry.grid(row=2, column=1)
nrco_label.grid(row=3, column=0)
nrcrn1_label.grid(row=4, column=0)
nrcrn1_entry.grid(row=4, column=1)
nrcrn2_label.grid(row=5, column=0)
nrcrn2_entry.grid(row=5, column=1)
nrcrn3_label.grid(row=0, column=2)
nrcrn3_entry.grid(row=0, column=3)
nrcrn4_label.grid(row=1, column=2)
nrcrn4_entry.grid(row=1, column=3)
nrcrn5_label.grid(row=2, column=2)
nrcrn5_entry.grid(row=2, column=3)
nrcrn6_label.grid(row=3, column=2)
nrcrn6_entry.grid(row=3, column=3)
nrcrn7_label.grid(row=4, column=2)
nrcrn7_entry.grid(row=4, column=3)
nrcrn8_label.grid(row=5, column=2)
nrcrn8_entry.grid(row=5, column=3)
nrcrn9_label.grid(row=0, column=4)
nrcrn9_entry.grid(row=0, column=5)
nrcrn10_label.grid(row=1, column=4)
nrcrn10_entry.grid(row=1, column=5)
sub_btn = tk.Button(root, text='Submit', command=automation)
sub_btn.grid(row=2, column=5)

root.mainloop()

我只得到“C数”,旁边有一个空格,我有其他正常显示的条目(其他是正常的条目网格,而不是下拉菜单)

我也考虑过使用
w.pack()
,但我得到了一个错误(我想是因为已经手动设置了其他条目的位置):

self.tk.call(_tkinter.TclError:无法在内部使用几何管理器网格。该网格已由包管理从属

然而,就我所读到的
pack()
而言,我看不出菜单没有出现是怎么回事

任何帮助都将不胜感激。

您必须使用:

w.grid(row=3,column=1)
在单亲家庭中,您不能混用
pack()
grid()
。我认为错误在于,您单独使用
w.grid()
,没有任何行或列规范。

您必须使用:

w.grid(row=3,column=1)

在单亲家庭中,您不能在
pack()
grid()
之间混用。我认为错误在于,您单独使用
w.grid()
,没有任何行或列规范。

我在代码后添加了此项以添加nrco\u标签

w.grid(row=3,column=1)

我在添加nrco_标签的代码之后添加了这个

w.grid(row=3,column=1)

这就是全部代码吗?它似乎缺少一些部分。请使用
w.pack()
?粘贴整个代码,因为从这么多内容中很难理解。@norie刚刚提出了整个代码code@CoolCloud刚刚发布了GUI的全部代码,我提到了为什么我没有使用pack。确切地说,不要使用
pack()
,使用
w.grid()
。这就是全部代码吗?它似乎缺少一些部分。请使用
w.pack()
?粘贴整个代码,因为从这么多内容中很难理解。@norie刚刚提出了整个代码code@CoolCloud刚刚发布了GUI的全部代码,我提到了为什么我没有使用pack。确切地说,不要使用
pack()
,使用
w.grid()
。谢谢你!谢谢你!