为了账号安全,请及时绑定邮箱和手机立即绑定

在另一个框架内显示 Tkinter 框架的问题

在另一个框架内显示 Tkinter 框架的问题

慕斯王 2022-11-18 14:03:07
您好,我在使用 tkinter 框架时遇到了问题。我希望有一个带有主框架的窗口。在那个主框架中,我有一个标题标签、顶部框架和底部框架。我希望使用网格将标题标签和顶部和底部框架一个接一个地放置。我遇到的问题是标题标签和底框没有显示。这是我的代码:    from tkinter import *def addLabels(frame):    lbl_date = Label(frame, text="DATE(DD/MM/YYYY)").grid(row=0,column=0)    lbl_po = Label(frame, text="PO #").grid(row=0,column=1)    lbl_nikls = Label(frame, text="NIKLS").grid(row=0,column=2)    lbl_sro = Label(frame, text="SRO").grid(row=0,column=3)    lbl_hours = Label(frame, text="HOURS").grid(row=0,column=4)    lbl_otHours = Label(frame, text="OT HOURS").grid(row=0,column=5)    lbl_dot = Label(frame, text="D-OT HOURS").grid(row=0,column=6)    lbl_invoice = Label(frame, text="INVOICE #").grid(row=0,column=7)def addEntry(frame):    entry_date = Entry(frame).grid(row=1,column=0)    entry_po = Entry(frame).grid(row=1,column=1)    chk_nikls = Checkbutton(frame, text="").grid(row=1, column=2)    chk_sro = Checkbutton(frame, text="").grid(row=1, column=3)    entry_hours = Entry(frame).grid(row=1,column=4)    entry_otHours = Entry(frame).grid(row=1,column=5)    entry_dot = Entry(frame).grid(row=1,column=6)    entry_invoice = Entry(frame).grid(row=1,column=7)    ##create windowwindow = Tk()#main fraimemainframe = Frame(master=window, borderwidth=1, highlightbackground="black", highlightthickness=1)##create and pack trinity headerlbl_title = Label(master=mainframe, text="Trinity Menu").grid(row=0)##create frame for top viewtop = Frame(master=mainframe, borderwidth=1, highlightbackground="black", highlightthickness=1).grid(row=1)addLabels(top)addEntry(top)##create frame for bottom viewbottom = Frame(master=mainframe, borderwidth=1, highlightbackground="black", highlightthickness=1).grid(row=2)  addLabels(bottom)## run programwindow.mainloop()如果您能提供帮助,我们将不胜感激。提前致谢。
查看完整描述

1 回答

?
胡子哥哥

TA贡献1825条经验 获得超6个赞

第一个问题是:您从不使用place,pack或gridon mainframe。使用类似的东西:


mainframe = Frame(master=window, borderwidth=1, highlightbackground="black", highlightthickness=1)

mainframe.pack()

第二个:您使用创建一个框架e=Entry(...)。然后e是类的对象Entry。你把它放在 py using a=e.grid(...)etc. 但是然后a是 None 类型。Soa=e.grid(...)返回与 相同的a( NoneType) a=Entry(...).grid(...),但您对此不感兴趣,而是对 感兴趣e。这也不是 jQuery。所以使用:


lbl_title = Label(master=mainframe, text="Trinity Menu")

lbl_title.grid(row=0)

希望对您有所帮助!


查看完整回答
反对 回复 2022-11-18
  • 1 回答
  • 0 关注
  • 61 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信