7

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

更正:换句话说,MessageBoxColorChooser普通对话框有“难看”的 Win 95 风格块状按钮,而主题(圆形/渐变)按钮通常显示在 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' )

MessageBox关于使 Tkinter和ColorChooser通用对话框与操作系统主题兼容(至少在 Windows XP 或更高版本下)需要什么的任何想法?

4

2 回答 2

2

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

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

但是,我认为您无法共同解决该colorchooser问题。

我想了一分钟也许 Python 3.1 已经解决了这个问题,但遗憾的是,我试过了,但事实并非如此。我想如果您需要用户选择一种颜色,那么按钮就必须是丑陋的。

于 2010-10-22T02:20:35.620 回答
0

获得更好看的对话框的一个选项是使用pyinstaller. 我在这里更彻底地解释了这一点。

tl; dr,似乎编译pyinstaller允许您使用当前运行的操作系统样式的对话框,但不是自定义样式。

于 2016-01-13T20:25:31.070 回答