Tengo un programa de Python que abre una nueva ventana para mostrar algo de información "sobre". Esta ventana tiene su propio botón de cerrar, y lo he hecho no modificable. Sin embargo, los botones para maximizar y minimizar siguen ahí, y quiero que se vayan.Eliminación de minimizar/maximizar botones en Tkinter
Estoy usando Tkinter, envolviendo toda la información para mostrar en la clase Tk.
El código hasta el momento se proporciona a continuación. Sé que no es bonito, y planeo expandir la información convirtiéndola en una clase, pero quiero que este problema sea resuelto antes de seguir adelante.
¿Alguien sabe cómo puedo controlar cuál de los botones predeterminados se muestran con 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: [email protected]",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('<Leave>', self.contactMouseOver)
self.contact.bind('<Enter>', self.contactMouseOver)
self.contact.bind('<Button-1>', 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:[email protected]',new=1)
Gracias. Terminé usando el enfoque overrideredirect - y agregué una cresta al marco inferior. Se ve lo suficientemente decente. – Vidar
root.resizable (0,0) funcionó para mí en Ubuntu, estoy usando tkinter – RahulArackal
@tzot root.overrideredirect (1) ocultaría el marco externo por completo. No habrá opciones para close, min o max. Si se ejecutó un código que contiene esta línea, la ventana quedará pegada a la pantalla para siempre, a menos que el IDLE se vuelva a marcar o el sistema operativo se apague. – Mohammed