Удаление кнопок минимизации / увеличения в Tkinter

У меня есть программа python, которая открывает новые окна, чтобы отобразить некоторую «информацию». В этом окне есть кнопка закрытия, и я сделал ее не изменяемой по размеру. Однако кнопки, чтобы максимизировать и минимизировать его, все еще существуют, и я хочу, чтобы они ушли.

Я использую Tkinter, обертывая всю информацию для отображения в классе Tk.

Код до сих пор приведен ниже. Я знаю, что это не очень красиво, и я планирую расширить информацию, превратив ее в класс, но я хочу, чтобы эта проблема была отсортирована, прежде чем двигаться дальше.

Кто-нибудь знает, как я могу управлять, какие из кнопок по умолчанию отображаются менеджером окон?

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('<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:adress@gmail.com',new=1) 

One Solution collect form web for “Удаление кнопок минимизации / увеличения в Tkinter”

В целом, какие декорации, которые WM-менеджер (диспетчер окон) решает отобразить, не могут быть легко продиктованы набором инструментов, подобным Tkinter. Поэтому позвольте мне обобщить то, что я знаю, плюс то, что я нашел:

 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() 

Также существует вероятность того, что для окна Toplevel отличного от корневого, вы можете:

 toplevel.transient(1) 

и это приведет к удалению кнопок min / max, но это также зависит от диспетчера окон. Из того, что я прочитал, MS Windows WM удаляет их.

  • сохранить несколько окон консоли из пакета
  • Cython компилируется в exe, Windows
  • Помощь с моим кейлоггером
  • правильный способ запускать некоторый код с тайм-аутом в Python
  • Как установить OpenCV на Windows и включить его для PyCharm без использования диспетчера пакетов
  • Отправка ^ C в объекты подпроцесса Python в Windows
  • Воспроизвести видеофайл с VLC, затем выйти из VLC
  • pip install - PermissionError: Разрешение отклонено
  • Python - лучший язык программирования в мире.