问题标签 [gtkmm3]

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 投票
0 回答
59 浏览

c++ - C++ GTKMM 编译问题

我遇到了一个问题,在 IDE 中构建和运行我的代码工作正常,但是当我开始编译时,我遇到了一个错误。据我所知,它抱怨的引用正在被调用,因为当在我的 IDE 中运行时,一切正常。只有在编译时才会抛出此错误。

我正在使用的 IDE 是 CLion。

任何有关为什么会发生这种情况的帮助或指示将不胜感激!

我正在运行以编译代码的命令:

错误如下:

这是我的文件:

主文件

GTKWindow.h

GTKWindow.cpp

0 投票
1 回答
1519 浏览

c++ - C++ GTKmm - 将文本插入到具有多个缓冲区和更改文本的 TextView

我正在尝试使用以下方法将多行数据插入到我的 TextView 中(大约 5-10 行):

其中“myString”是一个格式良好的字符串(设置了结束行),它是从另一个函数传递的。“myString”的示例如下:

  1. 这是第一行
  2. 这是第二行

    布拉布拉布拉

  3. 这是三号线

    布拉布拉布拉

每个函数调用的字符串内容都不同。我的问题是我试图将不同的缓冲区应用于字符串的不同行。

例如,我想将蓝色背景色应用到第 2 行,将绿色应用到第 3 行,将红色应用到第 5 行。由于我将我的数据行作为整个字符串传递到函数中,如何做到这一点?逐行传递。(我无法逐行传递所有这些,因为我的程序是多线程的,这不好)。

我做过类似的事情,但这只会改变 TextView 的整个缓冲区,而不是特定的行。

0 投票
1 回答
880 浏览

gnuplot - 无法将 gnuplot x11 窗口嵌入 Gtk3 套接字

我正在我的 Gtk3(实际上是 gtkmm)应用程序中创建 Gtk::Socket 并尝试将 gnuplot 的窗口嵌入其中。但它不起作用:套接字仍然保持为黑色矩形,而 gnuplot 窗口在其他地方独立出现。

同时,Gtk::Plug 完美插入这个插座。在 Gtk2 中,这个带有 gnuplot 的技巧也很有效。

这是socket.cpp

编译并运行:

启动 gnuplot:

那么,与 Gtk2 相比,Gtk3 套接字有什么不同会阻止 gnuplot 连接吗?

Ubuntu Xenial 16.04.1 x64、gnuplot-4.6.6、libgtkmm-3.0-dev 3.18.0、g++ 5.4.0不起作用

Ubuntu Trusty 14.04.4 x86、gnuplot-4.6.4、libgtkmm-3.0-dev 3.10.1、g++ 4.8.4工作

升级版:

深入挖掘 gnuplot 源代码发现 Gnuplot 为其窗口创建了与 socket 不同的“X11 Visual”结构。要解决此问题,请更改以下行:

(gplt_x11.c 的第 6339 行(版本 5.5.2))

0 投票
1 回答
351 浏览

c++ - 如何使用 Gtkmm 添加对按钮的响应

我正在尝试在 Gtk::Dialog 中添加对按钮的响应,但我不知道为什么它不起作用我尝试输入:

但它不起作用。另外,我尝试用其他方式做这样的:

但是当我单击按钮时出现此错误:

因此,如果您知道如何解决此问题,那将对我非常有帮助。

谢谢你。

0 投票
1 回答
774 浏览

c++ - GtkOverlay 不通过输入事件

GtkOverlay部件有一种特殊的set_overlay_pass_through方法可以将输入传递到底层覆盖。我想使用此功能覆盖GtkDrawingAreaUI 以添加绘图。不幸的是,它对我不起作用,没有输入事件通过。

我正在使用msys2gtkmm

这是我的代码:

当我更改两个add_overlay调用的顺序时,输入事件正常工作,但nodeBox隐藏绘图区域的小部件。

0 投票
1 回答
64 浏览

c++ - 如何根据屏幕大小启动窗口?

我正在尝试找到一种解决方案来根据屏幕大小启动窗口。我知道 Gtk::Window 有 resize() 方法,但问题只是像素而不是百分比。

谢谢 !

0 投票
2 回答
1581 浏览

c++ - GTKMM/C++11:如何从其他小部件中创建自定义复合小部件?

我想派生自己的小部件类并将标准小部件添加到此类以创建复合小部件。有没有人有关于如何做到这一点的例子或建议?例如,假设我想创建 4 个按钮的自定义复合小部件。我猜它类似于下面的代码:

0 投票
0 回答
116 浏览

themes - gtkmm 应用程序在 3.0 中忽略系统主题,而在 2.4 中可以

我使用库编译了一个测试示例gtkmm-3.0,我注意到它看起来比我系统中的所有其他 GTK+ 应用程序都丑,好像它忽略了我的系统范围的主题。当我针对 重建该应用程序时gtkmm-2.4,它看起来还可以。

代码几乎相同,将Gtk::Application类 fromgtkmm-3.0替换为Gtk::Mainfrom gtkmm-2.4

问题的原因可能是什么?为什么我的应用程序在编译时会忽略我的系统主题,gtkmm-3.0但在编译时却不会gtkmm-2.4?是系统配置问题吗?还是我应该做一些特别的事情gtkmm-3.0来使用我的系统主题?

如果这很重要,我正在使用 Gentoo Linux。

0 投票
1 回答
88 浏览

c++ - Gtkmm3 : 等待 css 转换完成

我的问题与 JavaScript 无关,而与 C++ 无关:

在 gtkmm3 中,应用程序的外观由 CSS 管理,因此可以这样设置过渡:

主题.css:

主.cc:

使用此代码,用户只能看到按钮的“黄色”状态,而看不到之前的状态,因为跳过了转换。如何一个接一个地显示所有的颜色变化?

编辑 :

我的应用程序是一个游戏,其中按钮根据其标签进行着色。这个标签可以非常紧密地改变多次,我希望用户看到这些变化,所以,看到每个状态之间的转换。所以,它不仅仅是一闪而过(我的例子并不完美,如果你想要应用程序的完整代码,你可以在这里获取)。

编辑2:

我修改了上面的代码和下面的句子来更好地解释我的问题。

0 投票
1 回答
517 浏览

c++ - 如何使无法单击的gtkmm菜单项变灰

我在 C++ 中使用库 gtkmm。这是我定义“打开”的代码部分:

如果我无法单击它,我希望“打开”显示为灰色,但我不知道允许这样做的方法。有什么建议么?

谢谢您的帮助。