在Windows上使用Python 3,Glade和GTK + 3开发应用程序

简介

在使用Python 3,Glade和GTK + 3开发应用程序的GNU / Linux中,这非常容易,大多数发行版中默认提供这些软件包。

由于 林间空地 我们可以快速轻松地创建用户界面,然后将其与Python结合使用。 为此,您可以使用 PyG对象 感谢GNOME提供的自省系统,该系统极大地促进了快速的应用程序开发(RAD); 也可以使用由Glade通过其他编程语言创建的接口。

当我们要在Microsoft Windows中使用应用程序时,就会出现问题,因为直到最近该系统的软件包才正式存在。

在本教程中,旨在使使用Python 3和GTK + 3在GNU / Linux中创建的应用程序在Windows中运行时不会出现问题。

要求

  • Python的3.3
  • Gtk + 3
  • Glade 3.14或更高版本(GUI设计器)
  • 对象

在Windows上安装

首先创建一个名为 软件 或您的偏好设置中的另一个,我们将在其中保存所有已下载的软件包。

下载安装包

下载Python 3.3

可以从Python官方页面下载 www.python.org

下载Python安装程序

下载Python安装程序

通过点击链接(Windows安装程序),Python安装程序将下载。

下载Glade

下载地址: 林间空地.gnome.org

Python和Glade版本都是32位的,但是它们可以在64位系统上完美运行

Glade Page

Glade Page

下载PyGObject

下载地址: https://wiki.gnome.org/PyGObject

我们必须下载GTK + 3的版本

PyG对象

PyG对象

Google代码中的PyGObject

Google代码中的PyGObject

安装软件包

至此,我们已经在文件夹中保存了所有下载的软件包 软件 下载完每个软件包后,我们将首先从Python安装开始。

下载包

下载包

Python安装

安装非常简单,向导将指导我们完成整个过程; 我们保留所有选项为默认标记。

Python安装程序

Python安装程序

如图所示,Python安装在文件夹中 C:\ Python33 \ 默认情况下,我们保持原样并继续安装。

Python安装文件夹

Python安装文件夹

在安装时,我们选择选项 将python.exe添加到路径,目的是当我们启动Python解释器时,无需手动将其添加到系统路径即可执行该解释器。

将Python添加到系统路径

将Python添加到系统路径

然后,我们完成安装,将在系统上安装Python。

Glade安装

Glade安装并不代表主要的复杂性,我们运行安装程序并按照向导的步骤进行操作。

安装林间空地

安装林间空地

PyGObject安装

我们已经下载了软件包 pygi-aio-3.4.2rev11.7z,此软件包包括适用于Python 3.3的PyGObject和适用于Windows的GTK + 3库,并使用 7-ZIP,我们将其解压缩,然后将得到一个包含以下内容的文件夹:

pygi-aio-3.4.2rev11.7文件夹的内容

pygi-aio-3.4.2rev11.7文件夹的内容

现在我们复制文件夹 GTK a C:\ Python33 \ Lib \ site-packages 这是Python第三方软件包的安装位置。

复制gtk文件夹

复制gtk文件夹

位于C:\ Python33 \ Lib \ site-packages的Gtk文件夹

位于C:\ Python33 \ Lib \ site-packages的Gtk文件夹

我们回到文件夹 pygi-aio-3.4.2rev11 然后打开文件夹 py33 适用于Python版本3.3

py33文件夹的内容

py33文件夹的内容

我们选择 所有内容 从资料夹中 py33 然后将其复制回文件夹 C:\ Python33 \ Lib \ site-packages,我们将被要求混合和覆盖,我们肯定地回答。 文件夹内容 网站包装 如下图所示:

将py33文件夹的内容复制到C:\ Python33 \ Lib \ site-packages

将py33文件夹的内容复制到C:\ Python33 \ Lib \ site-packages

检查PyGobject和GTK + 3的正确安装

要检查我们的安装是否正确,我们打开Python IDLE并导入GTK + 3库,如果没有任何错误消息,则所有操作都将正确完成。

from gi.repository import Gtk

PyGobject和GTK + 3正确安装

PyGobject和GTK + 3正确安装


发表您的评论

您的电子邮件地址将不会被发表。 必填字段标有 *

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   华金

    为什么选择GTK? 在QT中发展会更好吗? 除了是跨平台的,许多人还说这是未来

    1.    阿图斯

      GNU / Linux桌面上的两个出色的图形库分别是GTK和QT,每个库都选择自己喜欢的一个。 没有理由打架。

      GTK和QT之间的区别在于后者确实是一个很好的框架,但是作为一个框架,它消耗更多的资源。

      例如,Mozilla Firefox,Google Chrome,LibreOffice和long etcetera是使用GTK制作的; 这并不意味着它比QT更好,每个人都应该选择适合其偏好和需求的QT,我们不想对此进行讨论。

      1.    潘德夫92

        Google Chrome从33版开始,离开gtk。

  2.   罗洛

    以及为什么对Windows而不是Linux的解释

    1.    Germán

      是因为在Linux中所有内容都已经打包,并且在每个发行版的正式存储库中了吗? 例如,在Fedora中,我已经默认安装了Python 3,Gtk + 3和PyGobject。 如果我想要Glade,那只是“ yum安装林间空地”。 容易吧? 🙂

    2.    阿图斯

      因为正如Germán所说,对于GNU / Linux发行版,它们已经打包好了,安装起来非常容易。 例如在Debian中安装Glade非常简单:
      资质安装林间空地

  3.   马塞洛

    如果要使用Python 2.7,步骤是否相同?
    显然,安装2.7位Python 32(即使使用64位操作系统)也可以,而不是py33文件夹。 能行吗?
    谢谢。

    1.    阿图斯

      好吧,是的,如果您有问题,请给我评论。

      运气。

      1.    马塞洛

        谢谢,我已经尝试过了,现在“ Hello world”对我有用。

        我看我能否得到任何好的pyGTK3教程或任何所谓的教程,以及任何问题,警告。

          1.    马塞洛

            卡兰巴! 非常感谢!

          2.    马塞洛

            在Windows上使用Python 3测试GTK2.7,并按照教程进行操作。 到目前为止,所有程序都对我有用,除了第14章(IconView-> https://python-gtk-3-tutorial.readthedocs.org/en/latest/iconview.html)

            它给了我以下错误:
            追溯(最近一次通话):
            文件“ C:\ Users \ User \ Desktop \ test.py”,第24行,在
            赢= IconViewWindow()
            __init__中的文件“ C:\ Users \ User \ Desktop \ test.py”,第19行
            pixbuf = Gtk.IconTheme.get_default()。load_icon(icon,64,0)
            功能中的文件“ C:\ Python27 \ lib \ site-packages \ gi \ types.py”,第47行
            返回info.invoke(* args,** kwargs)
            GError:主题中不存在图标“ gtk-cut”

            我尝试了其他图标,但也没有用。 我需要安装主题吗? 从现在开始谢谢。

          3.    马塞洛

            示例19也没有。

            在这两种情况下都会调用的函数,这是我得到错误的地方:

            pixbuf = Gtk.IconTheme.get_default()。load_icon(icon_name,16,0)

            我找不到该图标,但是在其他示例中,您可以使用它们。 仅在我要与该函数一起使用时才给我一个错误(此处icon_name可以替换为Gtk.STOCK_CUT之类的值,或者给出完全相同的错误)。

          4.    马塞洛

            我一直在自言自语。 在其他示例中,对我有用的是将图像加载到按钮上。 我无法使用前面给出的两个示例中的功能加载图标。

          5.    阿图斯

            我认为错误很明显:
            GError:主题中不存在图标“ gtk-cut”

            显然该图标不可用,请使用另一个图标。 软件包维护者可能未包含主题图标,或者在默认路径中找不到主题图标,请使用GNU / Linux发行版,看看是否仍然出现相同的错误。

            关于问题19,它似乎与PyGobject版本有关,在文档顶部显示:

            备注
            要使用以下示例,必须使用PyGObject = 3.0.3的版本。

            您拥有的版本是3.0,请尝试使用GNU / Linux发行版; 然后我们必须等待他们更新软件包(对于Windows),或者在任何情况下您都可以自己编译。

            问候并继续前进。

          6.    马塞洛

            在Ubuntu中,所有教程示例都非常适合我。 在Windows上,它仍然不起作用。 我将不得不等待。 另一个不走的例子是Spinner的示例,它不执行动画。 问候和感谢。

  4.   约书亚

    我已按照安装教程进行操作,并逐步安装了所有内容。
    并执行以下代码:
    从gi.repository导入Gtk

    FiestraPrincipal类:
    def __init __(个体):
    filename =“ / data / dam / Python示例/ Saudoform”
    构造函数= Gtk.builder()
    constructor.add_from_file(文件名)
    #将我们的西奈事件与事件联系起来的字典
    西奈斯= {
    «ClickedAccept»:self.clic_boton,
    “ ActivateTextCadro”:self.clic_boton,
    “ DestroyFiestra”:Gtk.main_quit

    }
    builder.connect_signals(sinais)
    #我们获得了对XML描述符的引用,以便能够访问
    self.label = self.widgets_widget(“标签”)
    self.cadroTexto = self.widgets_widget(“ CadroTexto”)

    def button_click(自身,小部件):
    文字= self.cadroTexto.get_text()
    self.label.set_text(“ wave%s”%text)

    如果__name__ ==»__ main__»:
    FiestraPrincipal()
    Gtk.Main()

    我得到这个答案:
    追溯(最近一次通话):
    文件«C:/用户/管理员/ Google云端硬盘/测试/ SaudoForm.py»,第3行,在
    从gi.repository导入Gtk
    文件“ C:\ Python33 \ lib \ site-packages \ gi \ __ init__.py”,第27行,在
    从._gi导入_API,存储库
    ImportError:DLL加载失败:%1不是有效的Win32应用程序。

    有人知道问题是什么,或者可能是什么解决方案。
    非常感谢。

  5.   耶稣

    有趣。 我已经在linux上完成了安装,但是Windows的解释很好,现在两者都有。 😉

  6.   拉法·卡莫纳(Rafa Carmona)

    第一次在7位Windows 32上很有趣。
    在Windows 7 64位上,我无法使其运行,但我总是可以得到它。
    >>>从gi.repository导入Gtk
    追溯(最近一次通话):
    档案«»,第1行
    文件“ C:\ Python33 \ lib \ site-packages \ gi \ __ init__.py”,第27行,在
    从._gi导入_API
    ImportError:DLL加载失败:找不到指定的进程。

    无论如何我都尝试过,已经失去了安装它的幻想。

    1.    阿图斯

      您会看到64位库仍然存在一些错误,请同时安装python和GTK +的32位版本,这样就不会出现问题。

      你永远不要失去幻想

  7.   理查德

    嗨,我正在使用python + gtk3,这非常好,现在我遇到了一个小问题,在这种情况下,我想将图标更改为窗体(窗口),我可以更改它,在此先感谢,谢谢

  8.   乔斯

    发布有关如何在gtk + 3中进行编程的简单视频以及简单的教程问候

  9.   何塞

    优秀的教程。 非常感谢您的努力。 问候。

  10.   第1030章

    我做了所有步骤,当我信任安装时,出现了此错误。

    追溯(最近一次通话):
    档案«»,第1行
    从gi.repository导入Gtk
    ImportError:没有名为“ gi”的模块