【问题标题】:Python GUI(tkinter; pygtk+glade), py2exePython GUI(tkinter; pygtk+glade), py2exe
【发布时间】:2010-12-12 21:01:22
【问题描述】:

我是 python 编程和 GUI 的新手。我在互联网上搜索有关 GUI 编程的信息,发现有很多方法可以做到这一点。我看到在 python 中最简单的 GUI 方法可能是 tkinter(它包含在 Python 中,它只是 GUI 库而不是 GUI 构建器)?我也读了很多关于 GLADE+PyGTK(和 XML 格式),有什么特别的(glade 是 GUI builder)?

任何人都可以对此选择发表一些“个人意见”吗?

我有 python 代码,我需要制作简单的 GUI(2 个按钮的打开关闭读写,以及一些“打印”工作),然后制作一些 .exe 文件(是否有最佳选择 py2exe=?)。制作GUI的代码有很多变化吗?

非常感谢

【问题讨论】:

    标签: python tkinter pygtk py2exe glade


    【解决方案1】:

    如果你的 GUI 真的这么简单,你应该使用内置的 tkinter。

    您可以遵循Hello, Tkinter 教程,它非常简单。关于可执行文件的创建,py2exe 在大多数情况下应该可以正常工作(尽管我没有尝试过使用 tkinter)。创建可执行文件的另一种方法是在“setup.py”文件中添加一个特殊参数:

    setup(...,
          entry_points = {"gui_scripts" : ['name-of-executable = name_of_package.launcher:main']})
    

    例如,这将创建一个可执行文件,该可执行文件可以通过在终端中键入“可执行文件名”来运行(即使在 Windows 上,如果 Python 的“脚本”路径在 PATH ^^ 中)。它在名为“name_of_package”的模块中运行函数“main”。这样,您不必使用 py2exe,但可以创建 Windows 安装程序或 Debian 软件包。

    对于更复杂的项目,我绝对可以推荐PyGTKGlade 作为界面设计师。它需要安装几个 Python 包,外加一个 GTK+ 安装(在 Windows 上并不总是那么容易)。 API 很棒,well-documented 和 Glade 非常易于使用,一旦您习惯了 GTK 的布局概念。但我的观点有点偏颇,因为我在 PyGTK 中做过多个项目。 wxWidgets 或 PyQT 是不错的选择。例如,bazaar explorer 是使用 QT 编写的。

    【讨论】:

    • 好吧,代码长约 80 行,我知道如何使用 tkinter 使 GUI 例如简单的“hello world”,但在我的代码中我有“读取输入 .txt”文件,然后进行一些计算( huffman),输出是写在output.txt中,并显示一些结果。对我来说可能会有很多麻烦。
    • @thaking: 80 行?这几乎没什么。您所需要的只是将读取/计算的内容放在一个单独的函数中,然后可能创建一个带有callback function 的按钮,让用户选择一个输入文件。当然,这取决于您的用例,但应该相当简单。
    【解决方案2】:

    我真的很喜欢 Qt 库的 PyQt 绑定。 What is PyQt?

    Qt 本身是一个非常好的框架——丰富、强大、优雅(至少在我看来)。 PyQt 在将该功能暴露给脚本环境方面做得非常好。

    另外,还有一本非常不错的关于 PyQt 开发的书 - Rapid GUI Programming with Python and Qt - 完成它对我帮助很大。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2012-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-10-26
      • 1970-01-01
      相关资源
      最近更新 更多