Python 2.7(32 位)Windows:我们正在试验 Python 2.7 对主题 Tkinter (ttk
) 的简单 GUI 支持,结果给我们留下了非常深刻的印象!!新主题支持似乎不足的一个领域是如何包装特定于操作系统的通用对话框。
更正:换句话说,MessageBox
和 ColorChooser
通用对话框具有“丑陋”的 Win 95 风格 block 状按钮与主题(圆形/渐变)按钮通常显示在 XP、Vista 和 Windows 7 下的这些常见对话框中。(我在所有 3 个平台上进行测试,结果相同,没有主题)。
注意:filedialog 通用对话框(askopenfilename
、askopenfilenames
、asksaveasfilename
、askdirectory
)都是正确主题化的.
import tkMessageBox as messagebox
messagebox.showinfo()
import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )
关于使 Tkinter 的 MessageBox
和 ColorChooser
通用对话框与操作系统主题兼容(至少在 Windows XP 或更高版本下)需要什么的任何想法?
最佳答案
您的观察基本上是正确的。我确实看到您在 messagebox
和 colorchooser
中指的是什么。但是,我的文件对话框似乎都有适当的圆形按钮等。
我对你制作消息框的建议是使用 TopLevel
小部件创建你自己的消息框,然后定义你需要的内容以及不同按钮的适当行为(这确实有点比只使用消息框更难,但如果你真的需要新样式的按钮,它会起作用。
不过,我认为您无法针对 colorchooser
问题拼凑出一个解决方案。
我曾一度认为 Python 3.1 可能已经解决了这个问题,但遗憾的是,我试过了,但事实并非如此。我想如果您需要用户选择颜色,按钮就必须是丑陋的。
关于 python 2.7 : Themed "common dialog" tkinter interfaces via Ttk?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3991130/