python - 删除 TKinter Python 中的窗口标题栏

标签 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 上只打开一个没有标题栏的列表框?谢谢

最佳答案

看这一行

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

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

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 返回 None
  • Listbox 将 None 视为父窗口小部件并替换根窗口小部件 (Tk)
  • 然后您在根小部件上使用 .grid.pack ,这会导致您的程序挂起。

关于python - 删除 TKinter Python 中的窗口标题栏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14149549/

相关文章:

python - 使用包几何自动隐藏 Tkinter Canvas 滚动条

python - FuzzyWuzzy 错误 : WARNING:root:Applied processor reduces input query to empty string, 所有比较的得分为 0。 [查询: '/']

python - 奥杜 10 : Getting a view like invoice _line_ids from Invoice module

python - 如何获取 tkinter 文本小部件中最后一行的内容(Python 3)

python - 如何从文本小部件中单独检索行

python - tkinter 中不可移动的文本

python - Tkinter 图像脚本的路径双正斜杠

python - 调试 sys.path 的修改

python - 在类变量上调用类内的 type(dict) 函数 (Python 3.4)

类的python模拟默认初始化参数