from Tkinter import * class Application(Frame): def __init__(self,master=None, *args, **kwargs): Frame.__init__(self,master, *args, **kwargs) self.grid() self.createWidgets() self.flag=True self.transparent=False self.top = self.winfo_toplevel() def overturn(self): self.top.update_idletasks() self.top.overrideredirect(self.flag) self.flag=not self.flag #switch def createWidgets(self): self.canvas = Canvas(self, bg='green') self.canvas.pack() self.flagButton = Button(self, text='try this', bg='green', command=self.overturn) self.flagButton.pack() app = Application() app.master.title("sample application") app.mainloop()
我唯一想到的辦法就是你試試不用frame,而是用button作為父窗口。
另外relief 設置成FLAT, bd設置為0, 不顯示標題的辦法我也沒有。
不過可以從win32的API上想辦法。
獲取窗口句柄可以用FindWindow來做到。獲取windows的handle后。設置windows的style。
在dwStyle里將WS_CAPTION屬性去掉。SetWindowLong這個函數應該有這個功能。
轉自百度知道。