【发布时间】:2015-06-23 18:57:56
【问题描述】:
我的应用程序的 GUI 是基于 Tkinter 的,它非常实用。我一直在尝试使用 ttk 让它看起来更现代。我在 Windows 8.1 中使用 Python 2.7。导入ttk 没有错误,并且在脚本中包含ttk 的编码运行没有错误。但是,生成的界面看起来与仅使用Tkinter 完成的界面几乎相同。对于按钮尤其如此。我尝试了不同的ttk styles,它们看起来几乎相同或比仅基于 Tkinter 的界面更差。
我系统中的 Tkversion 是 8.5。我一直在使用作为 Python 2.7 本身一部分的 ttk。我尝试从https://pypi.python.org/pypi/pyttk 安装pyttk-0.3.2,但即使经过多次尝试,它的安装也总是失败。
我的问题是:
- 是否存在
Python 2.7的模块ttk在Windows 8.1下无法正常运行的已知问题? -
ttk库中是否存在错误的可能性,即使它在导入或使用 ttk 运行代码期间不会导致错误? - 我真的需要安装 pyttk-0.3.2 吗?
另外,您能否推荐一个使用 Tkinter 和 ttk 在 Python 2.7 中编码的软件(希望是最小的 - 意味着不需要安装太多外部库)?这将有助于我作为在我的计算机中测试 ttk 的参考点。
提前致谢!
更新了代码和屏幕截图:(回应@Bryan Oakley)
这是我使用的代码:
from Tkinter import *
import ttk
root = Tk()
root.geometry("")
root.title("classic")
button_1 = Button(root, text='Tkinter')
button_1.grid(row=0, column=0, padx=10, pady=10)
button_2 = ttk.Button(root, text='ttk')
button_2.grid(row=0, column=1, padx=10, pady=10)
style = ttk.Style()
style.theme_use('classic')
root.mainloop()
提供七种 ttk 主题样式:'winnative'、'clam'、'alt'、'default'、'classic'、'vista'、'xpnative'。
这是每种类型的屏幕截图(4 月 20 日更新):
【问题讨论】:
-
您能否附上一个屏幕截图,显示您的 ttk 和 tkinter 小部件的外观以及您用来生成它的代码(例如:并排放置一个 tkinter 按钮和 ttk 按钮)?很难判断您的 ttk 小部件是否看起来不正确,或者它们是否与 tkinter 小部件天生非常相似。
-
@BryanOakley,我使用了全局 ttk 样式。到目前为止,我还没有尝试自定义单个小部件。
-
@BryanOakley,我已经用代码和屏幕截图更新了我的问题。
-
好吧,这揭示了一些新的亮点。你肯定看起来有问题,但我不知道是什么。至少在 Windows 7 上,ttk 按钮看起来好多了。
-
您是否尝试过在不设置样式的情况下使用 ttk(即:使用默认而不声明您正在使用默认)?您是否尝试过使用“vista”主题?
标签: python python-2.7 user-interface tkinter ttk