问题标签 [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 投票
1 回答
135 浏览

r - 在 RGTK2 的数据框中选择一行

我想执行类似以下的操作:

  • 在 RGTK2 窗口中显示数据框,右侧有滚动条
  • 用户可以通过单击选择数据框中的特定行,我可以“获取”用户实际单击的行

我想知道这是否可以使用 RGtk2 来完成。谢谢。

0 投票
4 回答
7032 浏览

c - 如何将合成鼠标事件插入 X11 输入队列

我有一个运行 Linux/X11 的嵌入式设备,它连接到通过 USB 连接提供触摸事件的设备。该设备不被识别为任何形式的标准指针/鼠标输入。我正在尝试做的是找到一种在外部设备报告事件时将鼠标事件“注入”到 X11 的方法。

这样做将消除我的应用程序(使用 Gtk+ 用 C 语言编写)通过 Gtk+ 调用伪造鼠标按下的需要。

如果可以做到这一点,我的 Gtk+ 应用程序就不需要知道或关心生成触摸事件的设备。它只会在应用程序中显示为标准鼠标事件。

有人知道如何将合成鼠标事件插入 X11 吗?

现在我正在做以下工作,但不是最佳的。

0 投票
1 回答
1244 浏览

c - 如何获取 Gtk2 GtkDrawingArea 的 XID 以嵌入 Mplayer

我正在编写一个 Gtk2 应用程序,其中需要将Mplayer视频播放到GtkDrawingArea. 据我所知,如果可以找到 XIDGtkDrawingArea并将其作为参数传递给 Mplayer,这是可能的。但是,我正在使用下面的代码片段。

当我运行应用程序时,我收到以下错误:

获取 a 的 XID 的正确方法是GtkDrawingArea什么?任何帮助将不胜感激。

0 投票
2 回答
892 浏览

r - ggroup 的 gWidgets 和 rGtk2 问题

在 ubuntu 12.04 上,我安装了 gWidgets 并打算使用 RGtk2 绑定。现在,调用单个组件,例如

有效,但还有其他基本功能

我收到未安装某些东西时通常会遇到的错误

我尝试重新安装 libgtk-dev,以及 R 和 gWidgets,但没有任何效果。

有任何想法吗?

0 投票
1 回答
366 浏览

gtk - GTK,孩子的父母,共享的记忆和

我对 GTK 真的很陌生,并且一直在努力解决这个问题。我现在拥有的是

user 是父、子“和其他人”之间的共享结构,该结构包含我想在 GtkTextView 的父进程中预览的数据,一旦它们可用,我不知道该怎么做。不可能在父级中使用这样的东西

这将检查数据是否可用,然后将数据写入 GtkTextView。由于 gtk 主循环,这是不可能的。在这个场景中必须有另一种方式,这样我就可以在用户->事件(char *)更新或可用时立即查看它应该再次打印(用户是 shm,事件也是 shm)但是怎么能我告诉 gtk 循环。Gtk线程?

有没有一种简单的方法使用 shm 从子进程(小部件在父进程中运行的位置)写入小部件?

我敢肯定还有其他方法比我尝试做的更容易。

编辑1:

我可以在结构中看到子进程生成/更改/添加的数据,并且在父进程(shm)中看到它没有问题。我想要做的就是在数据发生更改时立即更新 TextView,我相信我需要一个必须检查和更新的 while 循环,但由于 gtkmainloop 阻塞,这不会发生。我需要想法或方法来做到这一点。我花了一些时间试图找出与 gtk 相关的调用来帮助我,但不能。

0 投票
0 回答
209 浏览

c - 简单功能的显示响应时间似乎太慢

我使用 GTK 2.0 用 C 语言编写了一个应用程序,用于带有运行 debian linux 的 ARM 处理器的触摸屏面板。这是一个非常基本的应用程序,在屏幕上显示了一些可以单击的按钮(事件框)。在一个页面上,我有 4 个字段来呈现一个“列表”,可以通过单击向上箭头和向下箭头(也是事件框)滚动浏览。我的滚动功能(下面的代码)非常基本......它只是用数组中的下一个项目更新每个字段。一切正常,但我看到的问题是,如果您反复单击滚动按钮有点太快,它会跳到一些列表项太远。我对正在发生的事情的猜测是,当点击太快时,计数器的前进速度超过了屏幕的更新速度,这样当您再次单击时,它实际上正在使用当时太高的计数器进行更新。如果它仅在真正快速单击时发生,我不会担心,但我认为对于这样一个以相当快的速度重复的简单功能来说,缓慢的响应似乎有些不合时宜。

我希望也许有人对我在使用 GTK 的屏幕刷新方面可能遗漏的东西有一些意见?

提前感谢您的任何想法或建议!

这是我的“提高音量”功能和“向上滚动”功能的代码,它们都有同样的问题。有相应的“向下滚动”和“降低音量”功能具有相同的问题:

和另一个:

0 投票
0 回答
668 浏览

gnome - 删除 Glib 调度程序(也在 gtk 线程中)导致段错误

我有一些使用调度程序的多线程代码。我小心翼翼地让调度程序在 gtk 线程中创建/销毁。但是,似乎即使从那里也无法摧毁它们。请参阅此代码(甚至是单线程)。我错过了什么吗?

===环境=== Ubuntu 11.10,gtkmm 2.24.2-1,libglib 2.30.0

===GDB====

====VALGRIND====

0 投票
1 回答
214 浏览

c - gtk+ 保存文件,同时在 linux 中保留文件权限

我正在用 gtk+ 2.0 和 gtksourceview 2.0 编写一个文本编辑器。目前我正在使用gtk_text_buffer_get_text并将g_file_set_contents文本缓冲区保存到文件中。我在文档中g_file_set_contents看到它说:

此外,由于文件被重新创建,现有权限、访问控制列表、元数据等可能会丢失。

我环顾了 devhelp 和 Google,找不到在保留文件权限的同时将文本缓冲区保存到文件的替代方法。关于如何做到这一点的任何想法?谢谢。

0 投票
1 回答
1128 浏览

java - 我们可以模仿 Java Swing 中的 GTK+ 2.0 按钮样式吗?

Java Swing 的问题在于外观和感觉(Metal、Nimbus、GTK...),与 SWT、Windows、Mac 和 Gnome Tool Kit 相比,外观和感觉最差,而且获得好看的小部件是乌托邦式的,但我问的是问题虽然。

我需要知道是否有可能将JButton 调整为看起来像默认的 GTK 按钮。 否则,我们可以给 JButton 文本一个样式(例如阴影)吗?

这是 GTK 应用于按钮小部件的样式:

这是使用 Java 引擎提供的默认 GTK 外观时按钮的外观:

Java GTK LAF 按钮

这里是一个按钮在 Linux (GTK 2.0) 下的样子。

GTK 按钮 Linux

区别实际上是 Java GTK LAF 中的不良文本提示,而 GTK 按钮文本的样式带有离散阴影。

0 投票
1 回答
1313 浏览

gtk - 为什么即使 iter 有效,gtk_tree_selection_select_iter() 也不选择另一行的子行?

我有一个带有. _ GtkTreeView每次选择一行时,都会调用一个回调。此回调应检索选定的行并以某种方式处理其数据。

我的应用程序有时必须选择此树视图本身的某些行:

当我必须选择顶层线时,这很有效,即直接从根下降的线。但是,如果我尝试选择一个子行(例如,第三行的第一个子行),我在回调函数中遇到错误(此处为 sscce 代码,仅在第 42 行更改):

错误是以下警告,后跟段错误:

(treetest:1843): Gtk-CRITICAL **: gtk_tree_store_get_path: 断言 `iter->user_data != NULL' 失败

(treetest:1843):Gtk-CRITICAL **:IA__gtk_tree_model_get_string_from_iter:断言“路径!= NULL”失败

此外,当我用鼠标选择同一行时,这个错误永远不会发生。

怎么会这样?选择的路径"2:0"是有效的,但从选择返回的迭代器不是,所以我认为该行没有被选择。为什么?