Python 按钮未显示在Tkinter中,即使带有几何图形管理器

Python 按钮未显示在Tkinter中,即使带有几何图形管理器,python,tkinter,Python,Tkinter,我正在tkinter中设计一个应用程序,但有一个按钮不会显示。该按钮对程序的运行至关重要 将tkinter作为tk导入 全局字段 root=tk.tk() 根目录。可调整大小(0,0) 根几何体('368x200') header=tk.Label(根,文本='header text',pady=20) header.config(字体=('Tahoma',24)) header.grid(行=0,列span=2) 在此处输入_=tk.Label(根,文本='Question:') 在此处输入_

我正在tkinter中设计一个应用程序,但有一个按钮不会显示。该按钮对程序的运行至关重要

将tkinter作为tk导入
全局字段
root=tk.tk()
根目录。可调整大小(0,0)
根几何体('368x200')
header=tk.Label(根,文本='header text',pady=20)
header.config(字体=('Tahoma',24))
header.grid(行=0,列span=2)
在此处输入_=tk.Label(根,文本='Question:')
在此处输入_.grid(行=1,列=0,pady=50)
字段=tk.条目(根,宽度=50)
field.grid(行=1,列=1,pady=50)
answer=tk.Button(根,文本=answer,命令=answerf,宽度=10)
答案。网格(行=2,列=2)
root.mainloop()

标题、标题文本和字母都是占位符。我只想知道怎么用这个按钮。我环顾四周,找不到任何答案;大多数人刚刚忘记了几何体管理器。

您必须小心传递给
tkinter
小部件的各种参数的值。在上述情况下,这就是您无法看到
按钮的原因

改变

field = tk.Entry(root, width = 50)
field.grid(row = 1, column = 1, pady = 50)

以及

输出:


问题很简单,就是您强制窗口的大小对于其中的对象来说太小了

一个简单的修复方法是删除此行:

root.geometry('368x200')

如果您坚持保持这条线,那么您需要调整其他小部件的参数,以便它们适合受约束的空间。例如,您可以减小小部件的大小或减少填充

我们不需要“完整的上下文”,我们需要一个完整的上下文。只要我们能重现问题,完整的上下文是不相关的。我只是不确定什么是最小的可重现示例,所以我放了比我实际需要的更多的东西,如果你能删除一行代码,而问题仍然是可重现的,你还没有创建最小的示例。您的示例中有很多代码可以删除。例如,整个
answerf
函数是否有必要重现问题?是的,下次我会记住这一点,希望我以前就想到过。编辑代码以使其简短。不,我将answer.grid(row=2,column=2)更改为answer.grid(row=1,column=2),并改进了填充。你可以看到你自己。@AnubhavSingh:就像我在回答中说的:减小小部件的大小或减少填充。
answer = tk.Button(root, text = 'Answer', command = answerf, width=10)
answer.grid(row=2, column=2)
answer = tk.Button(root, text = 'Answer', command = answerf, width=10)
answer.grid(row=1, column=2)
root.geometry('368x200')