Python和Gtk 4:在Windows上准备开发环境
在 Microsoft Windows 上开发 Gtk 4 应用程序是我在 Internet 上经常看到的问题。 有可能发展吗? 是的,这是可能的,但是今天开发 Gtk 4 应用程序的最佳方法是使用 IDEGnome Builder以及包装Flatpak: https://blog.justcode.com.br/python-e-gtk-4-conhecendo-o-ide-gnome-buil
在 Microsoft Windows 上开发 Gtk 4 应用程序是我在 Internet 上经常看到的问题。
有可能发展吗?
是的,这是可能的,但是今天开发 Gtk 4 应用程序的最佳方法是使用 IDEGnome Builder以及包装Flatpak:
https://blog.justcode.com.br/python-e-gtk-4-conhecendo-o-ide-gnome-builder
显然 Gnome Builder 的使用不是强制性的。
这就是为什么在今天的文章中,我们将了解如何准备开发环境,以便在 Microsoft Windows 上使用 Python 编程语言 (PyGObject) 和 Gtk 4 图形界面创建应用程序。
要在 Linux 发行版上准备开发环境,请使用这篇文章:
https://blog.justcode.com.br/python-e-gtk-4-preparando-o-ambiente-de-desenvolvimento-no-linux
Msys2
msys2 是 Microsoft Windows 的终端,允许安装多个包,包括 Gtk 4 图形工具包包和我们需要的 Python 3 编程语言。
安装
安装msys2很简单,去官网msys2:
下载安装程序,下载完成后2次点击:
在安装过程中无需更改任何选项,继续前进直到完成:
安装结束,在我的微软Windows启动中寻找msys2的终端:
打开终端,更新默认安装的包:
pacman -Syu
更新完成后,我们就可以开始安装开发所需的包了。
GTK 4
本节中显示的命令将安装 Gtk 4 库、Python 编程语言和PyGObject 绑定。
依赖
🚨 以下命令必须在 msys2 终端中执行。
pacman -S \
mingw-w64-x86_64-gtk4 \
mingw-w64-x86_64-python3 \
mingw-w64-x86_64-python3-pip \
mingw-w64-x86_64-python3-gobject \
mingw-w64-x86_64-libadwaita \
mingw-w64-x86_64-python-autopep8 \
mingw-w64-x86_64-python-pylint
包安装完成后,我们应该测试 Python 编程语言与 Gtk 4 工具包的通信。
打开终端并输入:
终端MinGW x64(推荐):
python3 -c "import gi"
终端PowerShell:
C:\msys64\mingw64\bin\python3 -c "import gi"
终端做msys2:
C:/msys64/mingw64/bin/python3 -c "import gi"
如果运行命令没有返回错误,则安装配置正确👍👋👋。
zoz100057 * *
配置Python解释器
如果执行了默认安装,Python 解释器将在路径中:
C:\msys64\mingw64\bin\python3.exe
。
📝 这条路径可能会有所不同。
Visual Studio 代码(VSCode)
创建一个文件并使用名称main.py
或您喜欢的任何其他名称保存它。
在Visual Studio Code的右下角点击Select pythoninterpreter选项,可能选择了Python解释器,点击更改即可:
单击此选项将打开一个菜单,您可以在其中选择 Python 解释器。
如果未显示来自 msys2 的解释器,请输入相同的绝对路径 (C:\msys64\mingw64\bin\python3.exe
)。
PyCharm
在 PyCharm 中,转到 File 菜单并单击 Settings 选项,在 Settings 中查找 Python Interpreter 并将路径添加到虚拟环境的 Python 解释器:
- 点击这里直接在你的 PyCharm 中打开这个选项。
代码
要在文本编辑器或 IDE 中测试配置,请使用以下示例代码:
# -*- coding: utf-8 -*-
"""Python e GTK 4: PyGObject Gtk.ApplicationWindow()."""
import gi
gi.require_version(namespace='Gtk', version='4.0')
gi.require_version(namespace='Adw', version='1')
from gi.repository import Adw, Gio, Gtk
class ExampleWindow(Gtk.ApplicationWindow):
def __init__(self, **kwargs):
super().__init__(**kwargs)
self.set_title(title='Python e GTK 4: PyGObject Gtk.ApplicationWindow()')
# Tamanho inicial da janela.
self.set_default_size(width=int(1366 / 2), height=int(768 / 2))
# Tamanho minimo da janela.
self.set_size_request(width=int(1366 / 2), height=int(768 / 2))
headerbar = Gtk.HeaderBar.new()
self.set_titlebar(titlebar=headerbar)
menu_button_model = Gio.Menu()
menu_button_model.append('Preferências', 'app.preferences')
menu_button = Gtk.MenuButton.new()
menu_button.set_icon_name(icon_name='open-menu-symbolic')
menu_button.set_menu_model(menu_model=menu_button_model)
headerbar.pack_end(child=menu_button)
# O seu código aqui:
# ...
class ExampleApplication(Adw.Application):
def __init__(self):
super().__init__(application_id='br.com.justcode.Example',
flags=Gio.ApplicationFlags.FLAGS_NONE)
self.create_action('quit', self.exit_app, ['<primary>q'])
self.create_action('preferences', self.on_preferences_action)
def do_activate(self):
win = self.props.active_window
if not win:
win = ExampleWindow(application=self)
win.present()
def do_startup(self):
Gtk.Application.do_startup(self)
def do_shutdown(self):
Gtk.Application.do_shutdown(self)
def on_preferences_action(self, action, param):
print('Ação app.preferences foi ativa.')
def exit_app(self, action, param):
self.quit()
def create_action(self, name, callback, shortcuts=None):
action = Gio.SimpleAction.new(name, None)
action.connect('activate', callback)
self.add_action(action)
if shortcuts:
self.set_accels_for_action(f'app.{name}', shortcuts)
if __name__ == '__main__':
import sys
app = ExampleApplication()
app.run(sys.argv)
作为示例代码的结果,我们有:
💡 额外
已知错误
如果在执行代码时显示错误:
Traceback (most recent call last):
File "c:\msys64\home\Brunno Lorran\deletar\main.py", line 6, in <module>
gi.require_version('Gtk', '4.0')
File "C:\msys64\mingw64\lib\python3.10\site-packages\gi\__init__.py", line 129, in require_version
raise ValueError('Namespace %s not available for version %s' %
ValueError: Namespace Gtk not available for version 4.0
对于此错误,请将 Git Bash 终端设置为 Visual Studio Code 中的默认终端:
📝 在 Microsoft Windows 上安装Git后,Git Bash 终端可用。
解决此错误的另一种方法是使用 msys2 安装附带的MSYS2 MinGW x64
终端运行代码。
更多关于使用编程语言和 Gtk 4 图形工具包构建应用程序的代码示例可在我的 Github ⬇ ⭐ 上找到。
更多推荐
所有评论(0)