问题标签 [vala]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
491 浏览

string - 如何在 Vala 中对字符串进行排序?

想到两件事:使用始终排序的 Gee.TreeSet,或调用 Gee.ArrayList.sort。

第一个感觉有点矫枉过正,我在另一个上找不到文档。最聪明的方法是什么?

0 投票
1 回答
295 浏览

vala - 自定义容器未绘制

在过去的几天里,我一直在阅读有关 Vala 的文章,并决定深入研究它并在此过程中制作一些 Clutter 小部件。我目前正在尝试从我的自定义演员子类中绘制一个私人演员。这是我到目前为止所获得的简化版本。

该示例绘制直接添加到舞台的组,而不是由添加到舞台的自定义集合包装的组。我怎样才能让它工作,上面有什么问题?

我一直在 ubuntu 11.10 上工作valac --pkg clutter-1.0 above_code_example.vala

0 投票
1 回答
152 浏览

animation - 无法访问 Clutter 中的动画属性

我正在尝试为 Clutter 中的演员设置动画,但是当我输入一个存在的属性时,出现了问题。

给我这个错误

Clutter-WARNING **:无法绑定属性 '\x83\xec\u0014\x89\xc6e\xa1\u000c':'ClutterTexture' 类型的对象没有此属性

对我来说看起来像 Unicode 字符。但是,当我输入一个不存在的属性时

我得到一个更有意义的错误

Clutter-WARNING **:无法绑定属性“thisdoesntwork”:“ClutterTexture”类型的对象没有此属性

当我尝试这种替代方法时,我遇到了完全相同的问题:

为什么所有实际存在的属性都变成了一些乱七八糟的东西,我该怎么做才能让它发挥作用?

0 投票
4 回答
3225 浏览

c++ - 我将如何将 C++ 与 VALA 混合

我需要用 C++ 编写跨平台的 GUI 应用程序,但由于 C++ 的大多数 GUI 库有点乏味,而且我对 C#/.NET 非常熟悉,我发现带有 GTK 的代码 Vala 代码非常有趣,并且与其他方式相比有点容易.那么我将如何将 VALA 与 C++ 混合。我的意思是在 C++ 中使用 VLA 作为前端和代码其余部分。

0 投票
1 回答
2649 浏览

c# - VLA 与 AOT 编译之间的性能差异?

我一直在用 Java 开发一个图像处理应用程序,但我最近对 ​​VLA 很感兴趣。原因是因为我相信我可以提高应用程序的性能(我关心的主要是与 C/C++ 库的互连,因为在 Java 中使用 C/C++桥接器时似乎有性能惩罚)。

背景(据我所知):

  • VLA 翻译成 C 代码,然后编译成本地机器代码。
  • AOT (Java/Mono C#) 也可以生成本机机器代码(而不是使用 VM,但仍需要运行时捆绑包)。
  • 在某些情况下,使用 VM 甚至可以比本地机器代码更快(因为它可以通过 JIT 编译器进行优化)。
  • 可使用 VLA 生成可消费的 C/C++ 库。

有一些事情在我的脑海中萦绕,我找不到答案:

  1. 可以使用 AOT 编译器生成 C/C++ 消耗性库吗?(我猜不是)。
  2. 生成的 AOT 二进制文件,是否还有桥接性能问题?(我想确实如此)。
  3. 在 VLA 中调用 C/C++ 库与从 C 中调用它们的性能相同吗?(我想是的)。

有什么见解吗?

0 投票
2 回答
2667 浏览

linux - 内容缩小时动态缩小 GTK+ 中的窗口?

我在 Vala 应用程序中有一个窗口,里面有一个图像。该图像有时会发生变化img.set_from_pixbuf(imgdata);,因此它的大小也会发生变化。它嵌入在 Gtk.Box 中。

因此,如果之前有一个大图像,而我将其替换为一个较小的图像,则窗口仍然大得可笑,我还没有找到一种方法将其动态缩小到所需的空间。我试过了,window.set_default_size(box.width_request,box.height_request)但它总是返回-1。

那么任何想法如何调整窗口大小?谢谢!

0 投票
1 回答
2024 浏览

gtk - 有时 GTK 模态对话框不是模态的 --- 错误或功能?

当我在 GTK( GTK2 或 GTK3 两者)中创建自定义对话框并将其设置为模式时,我的应用程序其他窗口的所有输入都将被忽略。这几乎总是有效,但在某些条件下会失败。

当我在对话框中添加一个包含 TreeView 的 ScrolledWindow 时,它仍然可以正常工作。但是,如果我用条目填充 TreeView 直到 ScrolledWindow 开始显示其滚动条 --- 模态突然丢失,我可以单击其他窗口!

这是我能够设置的最基本的示例。它是用 Vala 写的,但你会明白的:

编译它:

我错过了什么吗?这种行为是想要的吗?或者它是一个错误?如果是这样,是否有解决方法?

编辑:我进一步调查:卸载 Ubuntu 的覆盖滚动条后问题消失。所以它还没有解决,但我知道我必须在哪里报告这个......

0 投票
1 回答
910 浏览

c - GTK:无限的惰性小部件列表

我需要显示一个几乎无限滚动的交互式小部件列表,并在添加新数据或用户滚动到未缓存区域时根据需要添加/删除它们。

TreeView (如被问及这里)不是选项,因为,我需要完整的小部件作为项目(由具有多个操作等的标准小部件组成,但 CellRenderer 不适合这个)

更糟糕的是,我事先不知道我的小部件的高度(虽然变化不大),所以使用 VBox 可能会导致跳跃。

使用滚动条应该仍然感觉好像列表是有限的(即仅在滚动完成后更新,因此滚动按钮不会跳离鼠标),并且在调整窗口大小和窗口布局更新时,滚动位置不应该改变太多(焦点小部件应该保持在原处,除非当然焦点小部件被滚动了......)。

最好的方法是什么?甚至当需要添加新的小部件时,甚至可能只是向我发送信号的库?

或者可以强制 ListView 以不太讨厌的方式执行此操作?(即在屏幕外缓冲区上绘制,使用 CellRenderer 将其复制到单元格中,将鼠标/键盘事件中继到实际的小部件?)

0 投票
1 回答
373 浏览

localization - 如何使用 gettext 占位符?

我不是程序员,但我想帮助使用 gettext 翻译一个用 vala (http://live.gnome.org/Vala/Tutorial) 编写的项目。当我不得不使用占位符重新排列句子的某些部分时,我遇到了一个问题。

例子:

我需要做什么?

0 投票
1 回答
241 浏览

warnings - 警告:'g_hash_table_iter_next 来自不兼容的指针类型'与 Vala 中的 HashTagIter

以下代码编译但会引发警告。所以我想了解纠正它的真正情况(我不喜欢在编译时有警告的想法):

警告:

正如我所说,代码编译并且运行良好(暂时没有段错误或其他任何东西)。

我该如何解决这个警告?

谢谢,

达米安