问题标签 [gtkd]

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 投票
2 回答
327 浏览

gtk - 一次添加大量文本视图时的 gtkd 性能问题

这是一个最小的例子来说明这个问题。单击按钮时,应添加 500 个 TextView 对象,每个对象都包含一些文本。实际发生的情况是有一个短暂的延迟,添加了 500 个空的 TextView,有更长的延迟,然后它们都立即填充了文本,并且布局本身的大小也正确。下面的代码:


编辑这个线程表明创建一堆文本视图本质上是昂贵的,我应该使用树视图重写。

0 投票
2 回答
2364 浏览

gtk - gtkentry 焦点行为

GtkEntry 是否有任何现有机制可以在聚焦时将光标简单地定位在文本的末尾,而不是选择其内容被下一个键覆盖?必须添加一个信号处理程序来做这个基本的事情似乎很奇怪,但我在属性中找不到任何东西。

编辑:信号处理程序不起作用;无论我做什么,默认行为都会在我的处理程序运行后触发。这是我的 gtkd 代码;请注意,我在焦点事件处理程序中附加了一些文本,并且附加的文本也被选中:

addOnFocusIn方法在gtkd Gtk.Widget api中;它在内部调用g_signal_connect_data,理论上应该尊重G_CONNECT_AFTER我通过它的标志,但似乎不是。

Edit2:已解决 -grab-focus处理程序正在进行文本选择,并在之后处理focus-in-event

0 投票
2 回答
570 浏览

d - GtkD(D 语言的 Gtk+bindings)为什么要编译它?

我最近一直在使用带有 D 编程语言的 GtkD 来创建本地应用程序。我已经下载了所有必要的文件并让一切运行起来,所以我现在可以编译和生成示例应用程序。

我的问题是,在某些指南中,它告诉您在您使用的平台上编译 GtkD,但有什么意义呢?编译后,您最终会在 Windows 上得到一个 lib 文件 (GtkD.lib),在 Linux 上得到三个 lib 文件(以 *.a 结尾)。这些文件是做什么用的,它们是如何使用的?就像我说的,一切似乎都在工作,而无需对这些文件做任何事情。

我猜你可以静态链接这些?但那是为了什么?为了避免每次都编译 GtkD 源代码?我确实尝试过使用该pragma('lib', 'GtkD.lib')语句,但它似乎没有做任何事情。

任何人都可以对此有所了解或解释为什么需要这些文件吗?

0 投票
2 回答
882 浏览

static-libraries - 在 Linux 上使用 GtkD,我如何静态链接编译的库?

这有点与这个问题有关:GtkD(D 语言的 Gtk+绑定)为什么要编译它?

我在 Ubuntu 12.04 上将 GtkD 与 D 编程语言一起使用,我一直试图将编译后的库与我的程序静态链接。一旦 GtkD 被编译,就会有三个库

  1. libgtkd.a
  2. libgtkdgl.a
  3. libgtkdsv.a

完成后将make install这些文件放入/usr/local/lib/文件夹中,并将 GtkD 源文件放入/usr/local/includes/d/文件夹中。我还将源代码编译为*.di文件并将它们放在相关文件夹中,/usr/local/includes/d/因为 make 脚本默认情况下不这样做。

这是我要编译的源代码。

这是我使用的编译器命令:

这是错误:

任何想法我做错了什么?它看起来像一个 ld 错误,但这是链接的吗?

0 投票
1 回答
317 浏览

d - 无法编译 GtkD SourceView 代码

我是 gtk 编程和 d 和学习使用 gtkd 源代码的演示的新手。当我尝试编译下面的代码时[我在archlinux上使用dmd-2.060和gtkd-2.0]。

我收到这样的错误

但是,当我注释SourceView相关代码并取消注释TextView相关代码时,它编译并运行良好。

注意:此代码来自 sourceView gtkd 演示目录上的 SVTest.d 文件。

编辑:我正在做dmd SVTest.d进行编译,这给了我这个错误,现在我做了 dmd -L-ldl -L-lgtkd -L-lgtkdsv SVTest.d并且它编译得很好。现在,如果我删除 pragma 语句并尝试使用编译器标志进行编译,它会失败。我在这里有点困惑,D doc 说 pragma 是用于将信息传递给编译器!我需要编译指示和编译器标志来编译源代码吗?还是我做错了什么?

更新:确实 pragma 顺序很重要,我将 pragma 更改为此

现在我可以做

我原本想做的。

0 投票
1 回答
783 浏览

user-interface - GtkD 中的 MainWindows show() 和 showAll() 方法有什么区别?

这是我的测试:

当我用它替换Main.show()时,Main.showAll()它按预期工作,但是我在这里找不到任何一个函数的任何文档:http ://api.gtkd.org/src/gtk/MainWindow.html这两种方法有什么区别,在哪里可以我找到文档?

0 投票
1 回答
96 浏览

events - 在不接触标签及其内容的情况下在笔记本上捕获鼠标按下事件

我在Funtoo Linux上用gtkD编程。 我想在Notebook中捕捉鼠标按下事件, 但我不想触摸选项卡及其内容。 我在Notebook中使用函数: addOnButtonPress (), 但之后标签不可重新排序(以前是的)。 或者类似地,如何仅在选定的窗口/小部件上捕获鼠标事件而不触及它的子级。 谢谢你的帮助。





0 投票
1 回答
312 浏览

events - 使用 GtkD 的键输入

我是 gtk 和 GtkD 的初学者。
现在,我正在尝试参考this从键盘获取输入。
但是,似乎三年来工具包发生了一些变化。
我在下面写了代码。但是,我在回调函数中得到了奇怪的ev值。

我看不出一个人去的任何解决方案的前景。
那么,你能告诉我在哪里修改吗?

我提前感谢你,也感谢你对我英语不好的病人。


我正在使用 gtkD-2.1.1 和 gtk+3.2.3。
这是完整的代码:

0 投票
1 回答
743 浏览

d - D lang 与 Gtk 一起工作

我有麻烦gtk

  1. 我从 git 克隆:https://github.com/gtkd-developers/GtkD.git
  2. make & sudo make install
  3. 添加-I/usr/local/include/d/etc/dmd.conf
  4. dmd main.d

代码:

我得到错误:

0 投票
1 回答
476 浏览

d - 编译一个简单的 gtk D 应用程序需要什么

我刚刚开始学习 D 并且正在关注 dsource.org 上的示例

特别是这个:http ://www.dsource.org/projects/gtkd/wiki/CodeExamples这是一个简单的 gtk 程序。

当我使用fedora时,我安装gtkdgtkd-devel使用了yum,但是当我使用它进行编译时,出现dmd以下错误: