在Tkinter中禁用,隐藏或删除关闭“X”按钮

时间:2014-01-31 21:30:04

标签: python python-2.7 tkinter

我想向客户端显示GUI,但我不想让客户端通过[X]按钮关闭窗口。

如何禁用,隐藏或删除Tkinter窗口的关闭[X]按钮?

我找到了以下答案:

  1. Python Tkinter “X” button control
  2. Removing minimize/maximize buttons in Tkinter
  3. 但是,这些帖子没有回答我的问题。我想禁用,隐藏或完全删除[X]按钮。

    当我使用protocol时:

    def __init__(self):
        Frame.__init__(self, bg = "black")
        self.protocol('WM_DELETE_WINDOW', self.doSomething)
        self.pack(expand = 1, fill = BOTH)
    
    def doSomething(self):
        if showinfo.askokcancel("Quit?", "Are you sure you want to quit?"):
            self.quit()
    

    我收到以下错误:

      

    self.protocol('WM_DELETE_WINDOW', self.doSomething)       AttributeError:'GUI'对象没有属性'protocol'

1 个答案:

答案 0 :(得分:2)

调用protocol方法的问题在于它是根窗口上的方法,但您的GUI对象不是根窗口。如果在根窗口上调用协议方法,则代码将起作用。

至于如何完全删除按钮 - 没有办法简单地删除那个按钮。您可以通过设置overrideredirect标志来删除所有窗口管理器按钮和框架。