Я нашел пример, который ответил на мой вопрос здесь . overrideredirect(1)
является ключевой функцией.
Мне нравится этот метод, потому что я знаком с Tk и предпочел решение Tk, но см. Другие ответы для альтернативных решений.
import tkMessageBox
from Tkinter import *
class App():
def __init__(self):
self.root = Tk()
self.root.overrideredirect(1)
self.frame = Frame(self.root, width=320, height=200,
borderwidth=2, relief=RAISED)
self.frame.pack_propagate(False)
self.frame.pack()
self.bQuit = Button(self.frame, text="Quit",
command=self.root.quit)
self.bQuit.pack(pady=20)
self.bHello = Button(self.frame, text="Hello",
command=self.hello)
self.bHello.pack(pady=20)
def hello(self):
tkMessageBox.showinfo("Popup", "Hello!")
app = App()
app.root.mainloop()
Просто нужно добавить собственную кнопку уничтожения или метод выхода.