删除TKinter Python中的窗口标题栏

时间:2013-01-04 00:41:16

标签: python tkinter

如何从Tkinter中的Toplevel()窗口中删除标题栏。 现在我为我的主要人物

    self.master.title("Subtest")
    self.master.geometry("400x200")



    self.alertwindow()


    Label(self.master,textvariable=self.connected,height=4).grid(row=0,column=0)


    Button(self.master,text="Monitor",command= lambda: self.startnewthread(1),width=10).grid(row=6,column=1)
    Button(self.master,text="Quit",command=self.haltprogram).grid(row=6,column=0)

我的警报窗口功能

def alertwindow(self):
self.listbox=Listbox(Toplevel(self.master,width=150).overrideredirect(True),width=150).pack)

我希望程序打开一个根窗口,然后是一个没有标题栏的顶级列表框;但是,程序现在唯一要做的就是冻结,当我删除.overrideredirect(True)时,程序会启动两个列表框窗口。如何让程序在Windows上只打开一个没有标题栏的列表框?感谢

1 个答案:

答案 0 :(得分:2)

看这一行

self.listbox=Listbox(Toplevel(self.master,width=150).overrideredirect(True),width=150).pack)

很明显,你试图在1行上做太多 WAY 。 (你的括号甚至不匹配)。让我们分手吧,好吗?

new_top = Toplevel(self.master,width=150)
new_top.overrideredirect(True)
self.listbox = Listbox(new_top,width=150)
self.listbox.pack()

另请注意,您似乎正在使用.grid.pack - 一般情况下这是不明智的,而且Tkinter会愉快地花费所有的时间来尝试协商正确放置小部件的时间你试着一起使用它们。


我猜测发生了什么:

  • 您的实际代码具有正确平衡的括号,因此没有SyntaxError
  • Toplevel.overrideredirct返回无
  • Listbox将None视为父窗口小部件,并替换根窗口小部件(Tk
  • 然后,您在根小部件上使用.grid.pack,这会导致您的程序挂起。