Python 2.7:通过Ttk主题的"通用对话框"tkinter接口?

Mal*_*olm 7 python windows user-interface tkinter ttk

Python 2.7(32位)Windows:我们正在试验Python 2.7对主题Tkinter(ttk)的支持,用于简单的GUI,并且给人留下了非常深刻的印象!新主题支持似乎缺乏的一个领域是如何包装特定于操作系统的常见对话框.

更正:换句话说,MessageBoxColorChooser常见的对话框看起来很"丑陋"的Win 95风格的块状外观按钮与主题(圆角/渐变)按钮通常会显示在XP,Vista和Windows 7下的这些常见对话框中.(I我在所有3个平台上进行测试,结果相同,没有主题.

注:FileDialog的通用对话框(askopenfilename,askopenfilenames,asksaveasfilename,askdirectory)都是正确的主题.

import tkMessageBox as messagebox
messagebox.showinfo()

import tkColorChooser as colorchooser
color = colorchooser.askcolor( parent=root, title='Customize colors' )
Run Code Online (Sandbox Code Playgroud)

有关将Tkinter MessageBoxColorChooser常用对话框与操作系统主题兼容所需要的任何想法(至少在Windows XP或更高版本下)?

Raf*_*ler 2

你的观察基本上是正确的。messagebox我确实明白您在和 中所指的内容colorchooser。但是,我的文件对话框似乎都有适当的圆形按钮等。

我对您制作消息框的建议是使用小部件创建您自己的消息框TopLevel,然后定义您需要的内容以及不同按钮的适当行为(这肯定比仅使用消息框要困难一些,但如果您真的需要新样式的按钮,它会起作用)。

然而,我认为你无法想出一个解决方案来解决这个colorchooser问题。

我一度认为 Python 3.1 可能已经解决了这个问题,但遗憾的是,我尝试过,但事实并非如此。我想如果你需要用户选择一种颜色,按钮就必须很丑。