问题标签 [gtk2]

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 投票
11 回答
8407 浏览

python - Glade or no glade:使用 PyGtk 的最佳方式是什么?

我已经学习 python 一段时间了,并取得了一些成功。我什至设法使用 PyGtk + Glade 创建了一两个(简单)程序。

问题是:我不确定将 GTK 与 python 结合使用的最佳方法是否是使用 Glade 构建接口。

我想知道我们当中更有经验的人(记住,我只是一个初学者)是否可以指出使用 Glade 而不是在代码本身中创建所有内容的好处和注意事项(假设学习正确的 gtk 绑定不会确实是个问题)。

0 投票
1 回答
505 浏览

gtk2 - 如何向 php-gtk 状态栏添加简单消息?

我有一个用 glade 创建的简单 GtkStatusBar,并想添加一条简单的消息,其中包含数据库的最后更新日期(只是一个简单明了的日期)。

我不想使用 gtk 开发人员放在状态栏代码上的整个堆栈、上下文和所有其他内容。

(我可以简单地使用标签,但我想保留拖动条)。

我正在使用带有 php 5.2.6 的 Gtk 2.0.1;

0 投票
1 回答
965 浏览

python - 有人可以解释 Gtk2 包装吗?

我需要将 Gtk2 用于一个项目。我将为此使用 python/ruby。问题是包装对我来说似乎有点神秘。我尝试使用 VBox,以便在我的窗口中有以下小部件(按以下顺序):

  • 菜单栏
  • 工具栏
  • 文本视图/编辑器控制

我已经设法“猜测”了我的方式pack_start并获得了我需要的布局,但我希望能够理解它。Ruby Gtk2上的文档似乎太不直观了(python 也是如此,因为它是相同的,只为 python 编写),你能解释一下吗?

此外,set_size_request当我使用pack_start. 这是为什么 ?

0 投票
1 回答
372 浏览

c - GtkMenuItem 可以有彩色标签吗

所以我基本上是在做以下事情,我希望 SomeText 有红色的前景颜色。如何实现这一点:

我正在使用 GDK 2.0

谢谢

0 投票
1 回答
149 浏览

c - gtk_menu_item_new_with_labelex 与 gtk_menu_item_new_with_label

这两个函数调用有什么区别:

0 投票
1 回答
868 浏览

c - g_slice_new 不接受我的结构类型

这就是我构建它的方式:gcc pkg-config --cflags --libs gtk+-2.0-o spawn spawn_with_pipes.c

在下面的示例片段中,我收到一个错误:“数据之前的语法错误 - 它指的是 data= g_slice_new(Data);

0 投票
2 回答
17481 浏览

python - 如何更改 GTK 中的字体大小?

有没有一种简单的方法可以更改 GTK 中文本元素的字体大小?现在我能做的最好的就是set_markup在标签上做一些愚蠢的事情,比如:

这 1) 需要我设置字体,2) 似乎有很多开销(必须解析标记),以及 3) 会使更改按钮等的字体大小变得烦人。有没有更好的办法?

0 投票
2 回答
1015 浏览

perl - Perl 多线程 GTK+ 小程序

我想编写一个 Perl GTK+ 应用程序,它将:

0.1) 按下按钮 A
0.2) 禁用 A
0.3) 启动线程 1 和 2
0.4) 启动线程 3

线程 3 执行以下操作:

3.1) 加入线程 1
3.2) 加入线程 2
3.3) 启用 A

线程 3 完成后,应再次启用按钮 A。

现在,这种方法在 Win32 下的 C/C++、使用原生 GUI 库的 Linux 和/或 GTK+、KDE ​​下完全有效。GTK+ 和 Perl 的问题是您不能在线程内共享按钮变量(例如,第 3.3 点不能由线程 3 执行)。

问题是threads::shared仅适用于基本类型,而不适用于Gtk2::Button.

我再次尝试blessGtk2::Button对象(如文档中所示),但出现错误:

我的代码可以吗?
我问是因为当它运行 GUI 时不会显示Thread按钮并报告以下错误:

显然这不适用于复杂的对象。
我尝试了另一种修复方法,轮询在主(GTK)线程中调用的回调函数内正在运行的线程:

请注意以下几点:
1)我必须在第二个线程上评论加入

否则小程序会崩溃。
2)显然它有效,但是当我第二次单击重新启用按钮时,线程创建使应用程序崩溃

这很不稳定。我认为 Perl 更基于 C,但这种巨大的不稳定性在 C/C++ 中完全不存在。我有点失望。
有人有更多建议吗?Perl 中的多线程 API 如此不稳定吗?

最近更新。此代码有效:

但是:
1)我必须轮询线程(在现代 CPU 上资源不是很密集,但不是很优雅......应该只依赖操作系统同步原语)
2)我不能加入线程,否则小程序崩溃
3)给定(2 ) 每次按下按钮时都会出现巨大的内存泄漏

老实说,我看到的越多,我就越相信对于适当的应用程序开发,你不能依赖 Perl……但即使从原型的角度来看,它也有点糟糕。
我希望我做错了什么......在这种情况下,有人可以帮助我吗?

干杯,

0 投票
2 回答
323 浏览

ruby - 无法解决的 Ruby Gtk2 错误

我不断从我的代码中收到“未初始化 GLib::Object”错误。

这是代码:

有了这个,我得到了错误

所以我把那段代码移到了课堂之外,如下所示:

然后我得到:

所以我改变了它,所以我的班级并使用'set_resize_request'将'signal_connect'方法移动到班级之外,如下所示:

它给了我:

瓜!我又换了...

现在这个?!

所以,再一次,我从类中删除该方法并将其放在类之外

也许......也许这次它会起作用,所以我希望最好并再次运行代码......

什么?!这里发生了什么?

0 投票
2 回答
29120 浏览

c - GTK修改GtkButton的背景颜色

试图改变背景/前景色....使用 Gtk+ 和 C。

我正在使用上述功能,但没有给出任何结果。

我正在寻找这个问题中提出的问题(但在 C 中):
GTK:创建一个彩色常规按钮

如何使用按钮样式更改按钮样式?有人可以提供一些例子吗?