vala 相关问题

Vala是一种面向对象的编程语言,它允许使用现代编程技术编写在GNOME运行时库上运行的应用程序,特别是GLib和GObject。 Vala在语法上类似于C#,并被编译为C,然后使用平台的C编译器将其编译为本机二进制文件。

转让所有权(Genie/Vala)

有一个简单的例子: 结构体MyStruct a:整数 b:整数 def my_proc(): MyStruct 的无主列表 var result = MyStruct 的新列表 var my_struct = MyStruct() 对于 var i = 1 到 ...

回答 3 投票 0

如何在vala-lang中使用libc dlopen和dlsym

vala-lang 如何访问动态链接函数? 作为参考示例,假设我们想要重现此 cpp openssl md5 程序](https://stackoverflow.com/a/73843621/1695680),除了使用

回答 1 投票 0

如何使用libc dlopen和dlsym

vala-lang 如何访问动态链接函数? 作为参考示例,假设我们想要重现此 cpp openssl md5 程序](https://stackoverflow.com/a/73843621/1695680),除了使用

回答 1 投票 0

Vala(编程语言)如何使用libc dlopen和dlsym

vala-lang 如何访问动态链接函数? 作为参考示例,假设我们想要重现此 cpp openssl md5 程序](https://stackoverflow.com/a/73843621/1695680),除了使用

回答 1 投票 0

如何更改vala中Gtk.Label的字体大小?

我是 Vala/Gtk 新手,我正在尝试更改 Gtk.Label 的字体大小,但我找不到好方法。 我发现我可以像这样使用标记: varwelcome_message=新的Gtk。

回答 2 投票 0

如何动态插入和删除行

我正在寻找一个可以动态调整大小的小部件。我需要追加和删除行。 Grid 附带了一些方法,例如 gtk_grid_insert_row 或 gtk_grid_insert_next_to,但我不知道...

回答 3 投票 0

错误:`Gtk.TreeIter'不是受支持的泛型类型参数

我想用 Vala 在 Gtk+3 的树之间移动一些选定的项目。问题是我无法创建一个列表来包含所有必须删除的项目迭代,将它们添加到...

回答 1 投票 0

如何读取外部类的字符串数组属性?

以下结果会导致错误:表达式“outie.s”不表示数组。 从 innie() 读取/写入 outie.s 的正确方法是什么? 类outie { 公共字符串[]; 公共...

回答 1 投票 0

从用vala编写的应用程序进行故障转移后重新连接到Dbus守护进程

我有一个用vala编写的应用程序,它使用dbus-daemon与另一个进程(用vala编写)进行通信。效果很好。但是dbus-daemon重启后就无法通讯了。 我的申请...

回答 1 投票 0

Gtk.stock 已弃用,有什么替代方案?

我一直在学习Gtk 开发,网上的大多数示例都建议使用Gtk.stock 图标。然而,它的使用会产生警告,表明它已被弃用,并且我找不到替代品......

回答 1 投票 0

使用 `this.property` 或 `Object(property: ...)` 设置类属性有区别吗?

假设我有以下 MyClass 类的构造函数: 公共 MyClass(int my_property) { 对象(我的属性:我的属性); } 然后这个构造函数,它应该是等价的...

回答 1 投票 0

在 libxml2 中使用 XPath 进行节点选择

我有一个类似于以下内容的XML文档。 我有一个类似于以下内容的 XML 文档。 <library> <artist name="a"> <album name="1"></album> <album name="2"></album> </artist> <artist name="b"> <album name="8"></album> <album name="9"></album> </artist> </library>` 我正在 Ubuntu 上的 Vala 中编写一个应用程序,并使用 libxml2 库来操作 XML 文档。我想获取所有 album 节点,无论它们在文档中的位置如何。我编写了以下代码来完成上述工作。 document = Xml.Parser.parse_file (PATH_TO_DB); ... Xml.XPath.Context context; unowned Xml.XPath.Object *object; context = new Xml.XPath.Context(document); object = context.eval("//album"); if(object->nodesetval->is_empty()) return null; return object->nodesetval->item(0); ... 此 XPath 查询仅返回 artist a 下的专辑,即专辑 1 和 2。但是,context.eval("/library/artist[@name="b"]/album"); 会返回 artist b 下的所有专辑。 上面所示代码的 Python 等效项正在生成所需的结果。 doc = libxml2.parseFile("data.xml") ctxt = doc.xpathNewContext() res = ctxt.xpathEval("//album") Vala 代码有什么问题? 首先,您应该通过检查 object->type == Xml.ObjectType.NODESET 来检查返回的对象是否是 NodeSet。 接下来,您仅返回结果节点集中的第一项。有 nodeset->length() 项。 void main() { var document = Xml.Parser.parse_file ("file.xml"); run_query("//album", document); run_query("/library/artist[@name=\"b\"]/album", document); } void run_query(string query, Xml.Doc* document) { stdout.printf("Query: %s\n", query); Xml.XPath.Context context; unowned Xml.XPath.Object *object; context = new Xml.XPath.Context(document); object = context.eval(query); assert(object->type == Xml.XPath.ObjectType.NODESET); if(object->nodesetval->is_empty()) { stdout.printf("empty"); return; } for (var i = 0; i < object->nodesetval->length(); i++) { var node = object->nodesetval->item(i); stdout.printf("node %s name=\"%s\"\n", node->name, node->get_prop("name")); } } 产品: Query: //album node album name="1" node album name="2" node album name="8" node album name="9" Query: /library/artist[@name="b"]/album node album name="8" node album name="9"

回答 1 投票 0

Vala/Liboup websocket客户端卡在101个切换协议

我正在尝试使用 Workbench 中的 Vala 示例连接到 Revolt(聊天应用程序)的 websocket,但似乎我在身份验证时没有收到预期的就绪事件。反抗文档: 之后

回答 1 投票 0

Vala 中的静态枚举?

我有这个片段: 公共类项目:对象,内容项目{ 公共静态枚举状态{ 停止, 跑步, 暂停 } ... } 我得到: 错误:语法错误,预计...

回答 1 投票 0

如何创建和使用vapi文件?

我想制作一个自定义 vapi 文件,我有基本的东西,但我显然错过了一些东西,而且我无法在任何地方找到如何正确执行此操作。我的主要目标是使用 libtorrent 创建一个 torrent 应用程序...

回答 1 投票 0

如何返回要在 Vala 代码中使用的 C 字符串数组?

我正在使用 Vala 创建一个 Linux 应用程序。 为了解析 JSON,我想使用 C,因为 Vala 库对我来说很复杂,而且它能够运行 C 函数。该函数应返回一个字符串数组

回答 1 投票 0

class 关键字对 Vala 中的方法有什么作用?

我注意到 Gtk.Widget.set_css_name 被声明为 public class void set_css_name (string name),这是有道理的,因为在 C 中,参数是 GtkWidgetClass* 而不是 GtkWidget*。这意味着...

回答 1 投票 0

将多个源属性绑定到 Vala 中的目标属性?

假设我有一个名为 location_binds 的 GLib BindingGroup,它具有属性城市名称和国家名称。我想要拥有一个包含“城市名称,国家名称”之类的属性。 我知道...

回答 1 投票 0

GTK4 使用 GtkDropTarget 从 pixbuf 设置图像时出现问题

我正在测试一个gtk4小部件,它是GtkDropTarget。我计划设置一个拖动到窗口的图像作为窗口本身的图像。但是当我拖动图像文件时就会出现错误。 T...

回答 2 投票 0

使用vala将uris插入Gtk.Clipboard

我目前正在尝试为我的应用程序实现复制和粘贴。问题是我只能根据Gtk.Clipboard的文档将纯文本或图像写入剪贴板:se...

回答 1 投票 0

© www.soinside.com 2019 - 2024. All rights reserved.