有沒有辦法用Tkinter創建非標準的窗口?我想在屏幕上顯示一些浮動圖像,裏面有Tkinter小部件。想象一下像Growl for Mac,iPad上的Siri,Mac OS音量/亮度變化邊框等等。如果這不可行,是否有辦法擺脫窗口頂部的標題欄並關閉/最小化/調整按鈕大小,並要求完成腳本(或修飾符-Q擊鍵)才能關閉?Tkinter的非標準窗戶?
2
A
回答
1
wm_overrideredirect將刪除標準窗口邊框。你仍然會被一個矩形窗口卡住。您可以使用wm_attributes(查找alpha
屬性)調整窗口的透明度,但這隻適用於Windows和Mac。
已經有在用的Tcl/Tk,你可能能夠得到與Tkinter的工作,但它需要編譯一些代碼形狀的窗戶嘗試。請參閱tcl'ers wiki上的Managed and shaped toplevel。
0
是的,你可以!您可以使用
app.overrideredirect(True)
其中,app = TK()
從這裏你被卡住的窗口是不是頂級,雖然;它也沒有任務欄位置; 來解決這個問題,我們可以使用: app.attributes('-topmost', 1)
但即使現在你只有矩形;你將需要創建一個定製標題欄;這僅僅是一個標題,退出框架,最小化按鈕等
從我們使用的標題欄移動窗口:
def get_pos(event):
xwin = app.winfo_x()
ywin = app.winfo_y()
startx = event.x_root
starty = event.y_root
ywin = ywin - starty
xwin = xwin - startx
def move_window(event):
app.geometry("400x400" + '+{0}+{1}'.format(event.x_root + xwin, event.y_root + ywin))
startx = event.x_root
starty = event.y_root
app.TopFrame.bind('<B1-Motion>', move_window)
app.TopFrame.bind('<Button-1>', get_pos)
其中TopFrame是標題欄。這種方法似乎過於複雜,但它允許直接在鼠標上移動而不移動到角落。
回答你後一個問題: 使浮動對象是很有可能的;用途:
app.overrideredirect(True)
app.image = tk.PhotoImage(file='image.GIF')
image = Label(root, image=app.image, bg='white')
app.attributes("-transparentcolor", "white")
相關問題
- 1. Tkinter在Ubuntu中刪除標準窗口
- 2. 窗口中的非標準波特率
- 3. 帶Qt的非標準窗口
- 4. C#中的非標準用戶界面#
- 5. 標準輸出到tkinter GUI
- 6. 標準化和非標準化的值
- 7. 如何組合Tkinter窗戶?
- 8. AWS用戶數據窗口標準AMI
- 9. 設置窗口圖標tkinter
- 10. C非標準庫
- 11. 非標準分配
- 12. Base64和非標準
- 13. 非標準Webfont EurostileTRegExt
- 14. 非標準連接
- 15. BeautifulSoup replace_with非標準標籤
- 16. 非標準XML上的XSLT
- 17. 從非標準化的XML
- 18. 非標準的非唯一外鍵
- 19. XML中的非法非標準引號
- 20. 設置的Tkinter窗口的座標
- 21. R:在非標準窗口上滾動的金額
- 22. 更改非標準窗口的大小(Adobe CS6,MonoDevelop等)
- 23. 窗體窗體標準窗體大小
- 24. Opera中的非標準標記行爲
- 25. 非標準評價和PackedArray
- 26. 標準非SSL HTTP加密
- 27. 非標準後退按鈕
- 28. OGRE:非標準分辨率
- 29. 瓶:從非標準位置
- 30. GTK非標準輸入