标签不会出现在tkinter弹出窗口中

时间:2019-09-09 17:16:25

标签: python-3.x tkinter

我一直在用python开发应用程序,并且创建了一个弹出窗口以添加新的提醒,但是“提醒”,“日期”和“时间”标签未出现在新窗口中。 “添加新提醒”标签也会显示在窗口的左下方,而不是顶部的中心。

我尝试了打包和网格配置,但是它们仍然没有显示。

def popup():
    pop = tk.Toplevel()
    pop.wm_title("New Reminder")

    label = ttk.Label(pop, text="Add new reminder.")
    label.grid(row=0, column=1)
    label2 = ttk.Label(pop, text="Reminder")
    label.grid(row=1, column=0)
    label3 = ttk.Label(pop, text="Date")
    label.grid(row=2, column=0)
    label4 = ttk.Label(pop, text="Time")
    label.grid(row=3, column=0)

    rem = ttk.Entry(pop)
    rem.grid(row=1, column=1)
    date = ttk.Entry(pop)
    date.grid(row=2, column=1)
    time = ttk.Entry(pop)
    time.grid(row=3, column=1)

    addbutton = ttk.Button(pop, text="Add", command=pop.destroy)
    addbutton.grid(row=4, column=0)
    canbutton = ttk.Button(pop, text="Cancel", command=pop.destroy)
    canbutton.grid(row=4, column=1)

    pop.mainloop()

显示的是三个条目垂直堆叠在顶部,最后一个条目的左侧带有“添加新提醒”标签

1 个答案:

答案 0 :(得分:0)

当您将小部件的创建与小部件的布局分开时,布局问题更容易形象化。

这是您的布局代码分组在一起:

<class 'str'>

请注意如何在label.grid(row=0, column=1) label.grid(row=1, column=0) label.grid(row=2, column=0) label.grid(row=3, column=0) rem.grid(row=1, column=1) date.grid(row=2, column=1) time.grid(row=3, column=1) addbutton.grid(row=4, column=0) canbutton.grid(row=4, column=1) 上呼叫grid四次,而永远不要在labelgridlabel2上呼叫label3