简介
在使用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
通过点击链接(Windows安装程序),Python安装程序将下载。
下载Glade
下载地址: 林间空地.gnome.org
Python和Glade版本都是32位的,但是它们可以在64位系统上完美运行
下载PyGObject
下载地址: https://wiki.gnome.org/PyGObject
我们必须下载GTK + 3的版本
安装软件包
至此,我们已经在文件夹中保存了所有下载的软件包 软件 下载完每个软件包后,我们将首先从Python安装开始。
Python安装
安装非常简单,向导将指导我们完成整个过程; 我们保留所有选项为默认标记。
如图所示,Python安装在文件夹中 C:\ Python33 \ 默认情况下,我们保持原样并继续安装。
在安装时,我们选择选项 将python.exe添加到路径,目的是当我们启动Python解释器时,无需手动将其添加到系统路径即可执行该解释器。
然后,我们完成安装,将在系统上安装Python。
Glade安装
Glade安装并不代表主要的复杂性,我们运行安装程序并按照向导的步骤进行操作。
PyGObject安装
我们已经下载了软件包 pygi-aio-3.4.2rev11.7z,此软件包包括适用于Python 3.3的PyGObject和适用于Windows的GTK + 3库,并使用 7-ZIP,我们将其解压缩,然后将得到一个包含以下内容的文件夹:
现在我们复制文件夹 GTK a C:\ Python33 \ Lib \ site-packages 这是Python第三方软件包的安装位置。
我们回到文件夹 pygi-aio-3.4.2rev11 然后打开文件夹 py33 适用于Python版本3.3
我们选择 所有内容 从资料夹中 py33 然后将其复制回文件夹 C:\ Python33 \ Lib \ site-packages,我们将被要求混合和覆盖,我们肯定地回答。 文件夹内容 网站包装 如下图所示:
检查PyGobject和GTK + 3的正确安装
要检查我们的安装是否正确,我们打开Python IDLE并导入GTK + 3库,如果没有任何错误消息,则所有操作都将正确完成。
from gi.repository import Gtk
为什么选择GTK? 在QT中发展会更好吗? 除了是跨平台的,许多人还说这是未来
GNU / Linux桌面上的两个出色的图形库分别是GTK和QT,每个库都选择自己喜欢的一个。 没有理由打架。
GTK和QT之间的区别在于后者确实是一个很好的框架,但是作为一个框架,它消耗更多的资源。
例如,Mozilla Firefox,Google Chrome,LibreOffice和long etcetera是使用GTK制作的; 这并不意味着它比QT更好,每个人都应该选择适合其偏好和需求的QT,我们不想对此进行讨论。
Google Chrome从33版开始,离开gtk。
以及为什么对Windows而不是Linux的解释
是因为在Linux中所有内容都已经打包,并且在每个发行版的正式存储库中了吗? 例如,在Fedora中,我已经默认安装了Python 3,Gtk + 3和PyGobject。 如果我想要Glade,那只是“ yum安装林间空地”。 容易吧? 🙂
因为正如Germán所说,对于GNU / Linux发行版,它们已经打包好了,安装起来非常容易。 例如在Debian中安装Glade非常简单:
资质安装林间空地
如果要使用Python 2.7,步骤是否相同?
显然,安装2.7位Python 32(即使使用64位操作系统)也可以,而不是py33文件夹。 能行吗?
谢谢。
好吧,是的,如果您有问题,请给我评论。
运气。
谢谢,我已经尝试过了,现在“ Hello world”对我有用。
我看我能否得到任何好的pyGTK3教程或任何所谓的教程,以及任何问题,警告。
教程:
https://python-gtk-3-tutorial.readthedocs.org/en/latest/index.html
卡兰巴! 非常感谢!
在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”
我尝试了其他图标,但也没有用。 我需要安装主题吗? 从现在开始谢谢。
示例19也没有。
在这两种情况下都会调用的函数,这是我得到错误的地方:
pixbuf = Gtk.IconTheme.get_default()。load_icon(icon_name,16,0)
我找不到该图标,但是在其他示例中,您可以使用它们。 仅在我要与该函数一起使用时才给我一个错误(此处icon_name可以替换为Gtk.STOCK_CUT之类的值,或者给出完全相同的错误)。
我一直在自言自语。 在其他示例中,对我有用的是将图像加载到按钮上。 我无法使用前面给出的两个示例中的功能加载图标。
我认为错误很明显:
GError:主题中不存在图标“ gtk-cut”
显然该图标不可用,请使用另一个图标。 软件包维护者可能未包含主题图标,或者在默认路径中找不到主题图标,请使用GNU / Linux发行版,看看是否仍然出现相同的错误。
关于问题19,它似乎与PyGobject版本有关,在文档顶部显示:
备注
要使用以下示例,必须使用PyGObject = 3.0.3的版本。
您拥有的版本是3.0,请尝试使用GNU / Linux发行版; 然后我们必须等待他们更新软件包(对于Windows),或者在任何情况下您都可以自己编译。
问候并继续前进。
在Ubuntu中,所有教程示例都非常适合我。 在Windows上,它仍然不起作用。 我将不得不等待。 另一个不走的例子是Spinner的示例,它不执行动画。 问候和感谢。
我已按照安装教程进行操作,并逐步安装了所有内容。
并执行以下代码:
从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应用程序。
有人知道问题是什么,或者可能是什么解决方案。
非常感谢。
有趣。 我已经在linux上完成了安装,但是Windows的解释很好,现在两者都有。 😉
第一次在7位Windows 32上很有趣。
在Windows 7 64位上,我无法使其运行,但我总是可以得到它。
>>>从gi.repository导入Gtk
追溯(最近一次通话):
档案«»,第1行
文件“ C:\ Python33 \ lib \ site-packages \ gi \ __ init__.py”,第27行,在
从._gi导入_API
ImportError:DLL加载失败:找不到指定的进程。
无论如何我都尝试过,已经失去了安装它的幻想。
您会看到64位库仍然存在一些错误,请同时安装python和GTK +的32位版本,这样就不会出现问题。
你永远不要失去幻想
嗨,我正在使用python + gtk3,这非常好,现在我遇到了一个小问题,在这种情况下,我想将图标更改为窗体(窗口),我可以更改它,在此先感谢,谢谢
发布有关如何在gtk + 3中进行编程的简单视频以及简单的教程问候
优秀的教程。 非常感谢您的努力。 问候。
我做了所有步骤,当我信任安装时,出现了此错误。
追溯(最近一次通话):
档案«»,第1行
从gi.repository导入Gtk
ImportError:没有名为“ gi”的模块