[Topic DIscussion] 【Python Gtk】Adwaita
Tofloor
poster avatar
MrXiang
deepin
2022-04-24 00:08
Author

有人知道怎么在Python(3.0或者4.0)上使用Gtk的扩展组件Adwaita吗?

看着那些实现效果好炫酷

截图_adwaita-1-demo_20220423160806.png

Reply Favorite View the author
All Replies
avatar
whoam1
deepin
2022-04-24 03:14
#1

吓我一条,以为python4都出来了

Reply View the author
avatar
enforcee
deepin
2022-04-24 04:32
#2

import gi

gi.require_version('Adw', '1')

from gi.repository import Adw

yeah

Reply View the author
avatar
MrXiang
deepin
2022-04-24 18:59
#3
enforcee

import gi

gi.require_version('Adw', '1')

from gi.repository import Adw

yeah

ValueError: Namespace Adw not available sad

是不用要安装Gtk4,或者还是只能用GJS开发,我用Build试了一下GJS的Adw的示例,可以运行,而from gi.repository不能导入Adw

Reply View the author
avatar
enforcee
deepin
2022-04-24 19:38
#4
MrXiang

ValueError: Namespace Adw not available sad

是不用要安装Gtk4,或者还是只能用GJS开发,我用Build试了一下GJS的Adw的示例,可以运行,而from gi.repository不能导入Adw

按理来说如果只要有gobject introspection应该所有语言都能调用

看看/usr/lib/x86_64-linux-gnu/girepository-1.0里面有没有Adw的typelib

话说deepin源里就没有libadwaita,楼主是手动安装的吗

Reply View the author
avatar
MrXiang
deepin
2022-04-24 20:04
#5
enforcee

按理来说如果只要有gobject introspection应该所有语言都能调用

看看/usr/lib/x86_64-linux-gnu/girepository-1.0里面有没有Adw的typelib

话说deepin源里就没有libadwaita,楼主是手动安装的吗

emmm...确实没有。怎么安装

Reply View the author
avatar
enforcee
deepin
2022-04-24 21:33
#6
MrXiang

emmm...确实没有。怎么安装

那楼主看一下/usr/share/gir-1.0/里有没有Adw的gir

话说楼主下载的demo里面有没有typelib,还是用的其他打包方式装的

Reply View the author
avatar
MrXiang
deepin
2022-04-24 21:51
#7
enforcee

那楼主看一下/usr/share/gir-1.0/里有没有Adw的gir

话说楼主下载的demo里面有没有typelib,还是用的其他打包方式装的

找到了 叫做Adw-1.typelib的文件,之后呢,咋打包

Reply View the author
avatar
MrXiang
deepin
2022-04-24 21:51
#8
enforcee

那楼主看一下/usr/share/gir-1.0/里有没有Adw的gir

话说楼主下载的demo里面有没有typelib,还是用的其他打包方式装的

是不是把文件放进去

Reply View the author
avatar
enforcee
deepin
2022-04-24 22:02
#9
MrXiang

是不是把文件放进去

这个放进去能不能用还不好说

楼主有编译libadwaita的动态库吗,编译的哪个版本,我刚才试了最新版的,deepin依赖缺得太多了

sad

按理来讲编译libadwaita应该是能直接生成typelib的

meson_options.txt里面有introspection这个选项,默认是auto

楼主可以尝试用

meson . _build -Dintrospection=enabled

ninja -C build

我不想再编译gtk,因此只能帮这么多了。我平常用的arch,官方源里的libadwaita这些文件都是全的。

Reply View the author
avatar
MrXiang
deepin
2022-04-24 22:19
#10
enforcee

这个放进去能不能用还不好说

楼主有编译libadwaita的动态库吗,编译的哪个版本,我刚才试了最新版的,deepin依赖缺得太多了

sad

按理来讲编译libadwaita应该是能直接生成typelib的

meson_options.txt里面有introspection这个选项,默认是auto

楼主可以尝试用

meson . _build -Dintrospection=enabled

ninja -C build

我不想再编译gtk,因此只能帮这么多了。我平常用的arch,官方源里的libadwaita这些文件都是全的。

emmm,没有动态库,但我有一个Ubuntu系统,不知道在那能不能找到。然后我找到了Adw-1.gir文件

Reply View the author
avatar
enforcee
deepin
2022-04-24 23:22
#11
MrXiang

emmm,没有动态库,但我有一个Ubuntu系统,不知道在那能不能找到。然后我找到了Adw-1.gir文件

不安装libadwaita自然是没法用libadwaita的

这个楼主要想清楚

joy

Reply View the author
avatar
MrXiang
deepin
2022-04-24 23:25
#12
enforcee

不安装libadwaita自然是没法用libadwaita的

这个楼主要想清楚

joy

我不知道如何安装 百度上根本找不到

Reply View the author
avatar
enforcee
deepin
2022-04-24 23:38
#13
MrXiang

我不知道如何安装 百度上根本找不到

通常来说用包管理器安装libadwaita(有的发行版把动态库和开发文件分开打成两个包,如果要开发的话就要都装上)

但是比如说deepin的源里是没有这个包的因此需要下载源代码手动编译(但是需要先编译gtk4等依赖库)

ubuntu 22.04装libadwaita-1-0和libadwaita-1-dev

Reply View the author