【问题标题】:Modern GUI programming in Python 3.3Python 3.3 中的现代 GUI 编程
【发布时间】:2013-07-02 03:54:04
【问题描述】:

我正在整理一些程序,现在是时候开始为其中一些程序制作 GUI。该代码目前使用 Python 3.3 编写。

我研究了一些 Python 的 GUI,即 Tkinter、wxPython 和 PyGTK。我发现的一切似乎都只创建了看起来相当陈旧的 GUI。我已经创建了几个示例 GUI,它们都可以工作,它们看起来很像 Windows 95。

我正在查找/创建的示例:

我想要的示例:

这仅仅是关于 GUI 工作原理的高级知识,还是只是有更适合“现代”外观 GUI 的 GUI 模块?

如果是关于 GUI 工作原理的高级知识,是否有一些关于如何使 GUI 看起来更“现代”的教程。

提前致谢。

【问题讨论】:

  • 大多数工具包都与您的系统主题相匹配,因此您使用它们制作的 UI 看起来就像“常规”程序。
  • 问题是,我运行的是 Windows 7,大多数 GUI 看起来都不错而且很现代,但是当我从我的 Python 代码运行我自制的 GUI 时,它们会出现 Windows 95 风格。
  • 有几十个 Python UI 工具包。你用的是哪一个?
  • 我在 tkinter、wxPython 和 PyGTK 中做了一些简单的例子
  • 如果 wxPython UI 无法加载新的(ish)主题通用控件 DLL,它将回退到旧样式。这样做真的不应该有任何问题,尽管我想如果你有一个旧的 wxPython 或者可能是一个定制的 Python,那么这可能就是你所看到的。

标签: user-interface tkinter wxpython pygtk python-3.3


【解决方案1】:

您可以使用 htmlPy。因此,您可以使用 css html js 创建具有良好外观的 GUI。

【讨论】:

    【解决方案2】:

    在许多情况下,QT 是一个不错的选择,但有时您需要更快的响应时间,或者对 OpenGL(ES) 的原生支持,或者只是另一个许可证。有很多选择:

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

        Tkinter 带有一组名为“themed tk”的小部件,由ttk 模块提供。它为一些核心小部件(如按钮和标签)提供了更具现代感的替代品,并且它还具有一些新的小部件,如笔记本和树。

        【讨论】:

        • 刚试过这个来改造我的一个看起来很糟糕的程序,效果很好
        • 注意“一些”这个词。例如,对话框和文件打开/保存对话框看起来仍然不是原生的。
        • @JeannePindar:在 windows 和 OSX 上,对话框使用 OS 提供的本机对话框。
        • 不管它们是由什么提供的,它们看起来都不是原生的。见stackoverflow.com/questions/33792008/…
        猜你喜欢
        • 2012-03-12
        • 2011-03-22
        • 1970-01-01
        • 2011-06-06
        • 1970-01-01
        • 2012-10-19
        • 2017-04-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多