Python 3.3中的现代GUI编程

21

我正在编写一些程序,现在是为其中一些程序制作GUI的时候了。目前代码是用Python 3.3编写的。

我研究了几个Python GUI,包括Tkinter、wxPython和PyGTK。我找到的所有内容似乎只能创建看起来非常古老的GUI。我创建了几个示例GUI,它们都可以工作,只是看起来非常像Windows 95的样子。

我找到/创建的一个示例:http://python.6.x6.nabble.com/file/n4545517/MLDataAnalyzer5.png

我想要的一个示例:http://images.six.betanews.com/screenshots/1237236321-1.jpg

这仅仅是对GUI如何工作的高级知识吗?还是有一些专门适合“现代”外观GUI的GUI模块?

如果这是GUI如何工作的高级知识,那么是否有一些教程可以让GUI看起来更“现代”呢?

提前感谢。


大多数工具包都与您的系统主题相匹配,因此使用它们创建的用户界面将看起来像“常规”程序。 - Blender
4
问题是,我正在使用Windows 7,大多数GUI看起来漂亮和现代化,但当我运行我的Python代码中自制的GUI时,它们呈现出Windows 95的风格。 - Tennesseej
有数十种Python用户界面工具包可供选择。你正在使用哪一个? - Blender
我已经在tkinter、wxPython和PyGTK中制作了快速示例。 - Tennesseej
1
如果wxPython无法加载新的主题化公共控件DLL,则其UI将退回到旧样式。现在不应该再有任何问题了,尽管我想如果您使用旧版本的wxPython或者自定义构建的Python,那么可能会出现这种情况。 - RobinDunn
显示剩余2条评论
4个回答

15

Tkinter带有一组称为“themed tk”的小部件,由ttk模块提供。 它提供了一些现代化的替代核心小部件,如按钮和标签,并且还增加了一些新的小部件,例如记事本和树形视图。


4
刚试了一下,对我的一个外观糟糕的程序进行了改进,现在运行得很好。 - Devon M
请注意术语“some”。例如,对话框和文件打开/保存对话框仍然不太符合本地化风格。 - Jeanne Pindar
@JeannePindar:在Windows和OSX上,对话框使用操作系统提供的本地对话框。 - Bryan Oakley
1
无论它们是由什么提供的,它们看起来都不是本地的。请参见https://dev59.com/I1sX5IYBdhLWcg3wd_TS - Jeanne Pindar

2

经过大量的研究,我决定使用名为 PyQt5(http://www.riverbankcomputing.com/software/pyqt/download5)的 Python Qt 绑定库。它很容易实现并且具有大量文档。Qt 中的界面元素(在 Qt 中称为小部件)看起来与主机操作系统中的小部件完全相同:如果您在 Windows 95 中运行程序,则它们会是那样的样式,Windows 7 和 MacOS 也是如此。我发现 Qt 非常强大。我正在开发一个 Python/MySQL 应用程序,QtSql 模块在创建表方面帮助了很多。


2
你可以使用htmlPy。这样,你就可以使用css、html和js创建具有良好外观的GUI界面。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接