Eliminar botones de minimizar / maximizar en Tkinter

Tengo un progtwig de Python que abre una nueva ventana para mostrar información “sobre”. Esta ventana tiene su propio botón de cierre, y lo he hecho no resizable. Sin embargo, los botones para maximizarlo y minimizarlo siguen ahí, y quiero que desaparezcan.

Estoy usando Tkinter, envolviendo toda la información para mostrar en la clase Tk.

El código hasta ahora se da a continuación. Sé que no es bonito, y planeo expandir la información para convertirla en una clase, pero quiero solucionar este problema antes de seguir adelante.

¿Alguien sabe cómo puedo controlar cuál de los botones predeterminados muestra el administrador de Windows?

def showAbout(self): if self.aboutOpen==0: self.about=Tk() self.about.title("About "+ self.programName) Label(self.about,text="%s: Version 1.0" % self.programName ,foreground='blue').pack() Label(self.about,text="By Vidar").pack() self.contact=Label(self.about,text="Contact: adress@gmail.com",font=("Helvetica", 10)) self.contact.pack() self.closeButton=Button(self.about, text="Close", command = lambda: self.showAbout()) self.closeButton.pack() self.about.geometry("%dx%d+%d+%d" % (175,\ 95,\ self.myParent.winfo_rootx()+self.myParent.winfo_width()/2-75,\ self.myParent.winfo_rooty()+self.myParent.winfo_height()/2-35)) self.about.resizable(0,0) self.aboutOpen=1 self.about.protocol("WM_DELETE_WINDOW", lambda: self.showAbout()) self.closeButton.focus_force() self.contact.bind('', self.contactMouseOver) self.contact.bind('', self.contactMouseOver) self.contact.bind('', self.mailAuthor) else: self.about.destroy() self.aboutOpen=0 def contactMouseOver(self,event): if event.type==str(7): self.contact.config(font=("Helvetica", 10, 'underline')) elif event.type==str(8): self.contact.config(font=("Helvetica", 10)) def mailAuthor(self,event): import webbrowser webbrowser.open('mailto:adress@gmail.com',new=1) 

En general, las decoraciones que el WM (administrador de ventanas) decide mostrar no pueden ser dictadas fácilmente por un kit de herramientas como Tkinter. Así que permítanme resumir lo que sé más lo que encontré:

 import Tkinter as tk root= tk.Tk() root.title("wm min/max") # this removes the maximize button root.resizable(0,0) # # if on MS Windows, this might do the trick, # # but I wouldn't know: # root.attributes(toolwindow=1) # # for no window manager decorations at all: # root.overrideredirect(1) # # useful for something like a splash screen root.mainloop() 

También existe la posibilidad de que, para una ventana de Toplevel que no sea la raíz, puede hacer:

 toplevel.transient(1) 

y esto eliminará los botones min / max, pero también depende del administrador de ventanas. Por lo que leí, el MS Windows WM los elimina.

 from tkinter import * qw=Tk() qw.resizable(0,0) #will disable max/min tab of window qw.mainloop() 

introduzca la descripción de la imagen aquí

 from tkinter import * qw=Tk() qw.overrideredirect(1) # will remove the top badge of window qw.mainloop() 

introduzca la descripción de la imagen aquí

Aquí están las dos formas de desactivar la opción de maximizar y minimizar en tkinter

Recuerde que el código para el botón que se muestra en la imagen no está en el ejemplo, ya que es una solución sobre cómo hacer que la pestaña max / min no funcione o cómo quitarla