簡體   English   中英

Python 2.7:通過Ttk主題的“通用對話框”tkinter接口?

[英]Python 2.7: Themed “common dialog” tkinter interfaces via Ttk?

Python 2.7(32位)Windows:我們正在試驗Python 2.7對主題Tkinter( ttk )的簡單GUI的支持,並且給人留下了非常深刻的印象! 新主題支持似乎缺乏的一個領域是如何包裝特定於操作系統的常見對話框。

更正:換句話說, MessageBoxColorChooser常見對話框具有“丑陋”外觀的Win 95風格的塊狀外觀按鈕與主題(圓角/漸變)按鈕,這些按鈕通常顯示在XP,Vista和Windows 7下的這些常見對話框中。 (我正在所有3個平台上測試相同的,無主題的結果)。

注意:filedialog常用對話框( askopenfilenameaskopenfilenamesasksaveasfilenameaskdirectory )都是正確的主題。

import tkMessageBox as messagebox
messagebox.showinfo()

import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )

有關將Tkinter的MessageBoxColorChooser常用對話框與操作系統主題兼容(至少在Windows XP或更高版本下)所需要的任何想法?

你的觀察主要是正確的。 我確實在messageboxcolorchooser看到了你所指的colorchooser 但是,我的銼刀似乎都有正確的圓形按鈕等。

我建議您制作消息框的建議是使用TopLevel小部件創建自己的消息框,然后定義您需要的內容以及不同按鈕的相應行為(這肯定比使用消息框更難,但如果你真的需要新的樣式按鈕,它會工作)。

但是,我不認為你可以解決colorchooser問題的解決方案。

我有一分鍾,也許Python 3.1已經解決了這個問題,但遺憾的是,我嘗試過,但事實並非如此。 我想如果你需要用戶選擇一種顏色,按鈕就必須是丑陋的。

獲得更好看的對話框的選項是使用pyinstaller將腳本編譯為可執行文件。 在這里進行了更多的解釋。

tl; dr,看來使用pyinstaller進行編譯可以讓你擁有當前正在運行的操作系統風格的對話框,而不是自定義樣式。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM