问题标签 [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 回答
1471 浏览

eclipse-cdt - 加载共享库时出现 GTK 3 Eclipse 错误:libgtk-3.so.0

我目前正在使用 Eclipse IDE for C/C++ Developers Version: 2018-09 (4.9.0) 来构建一个简单的 GTK 3 应用程序。但是在我构建并运行应用程序之后,在 Eclipse 中,我收到以下错误:

但是,当我从终端启动可执行文件时,它启动得很好。

如何解决找不到共享库的问题,以便我可以直接从 Eclipse 中运行应用程序?

0 投票
2 回答
1267 浏览

c++ - GTK:一起摆脱系统主题/CSS

GTK3 应用程序可以使用 CSS 设置样式和主题。如何强制 GTK使用我的应用程序附带的 CSS,而不是将其与安装在用户系统上的主题组合/级联?

为什么要这样做?从理论上讲,CSS 将是一个很棒的基于规则的样式系统,您只需添加一个完整的屏幕并精心选择的规则来一致地定义应用程序的外观。不幸的是,在实践中,人们倾向于在样式表中添加数百个脑残、重复的定义,从而伪造级联的本质。

实际的问题是我的应用程序将获得媒体处理应用程序的典型、柔和的深灰色外观,而与用户系统上安装的全局主题无关。通过阅读 GTK 文档和GTKmm 教程,我想出了以下代码来阅读我自己的 CSS 样式表:

从技术上讲,这很完美。然而——现在我被迫“反对”用户系统上的 CSS 规则。如果我首先在默认规则中设置合适的边框颜色,在 GtkWindow 的规则中设置深灰色背景和合适的文本颜色,再加上文本输入字段的一些规则,我会在某些部分获得所需的外观,但只要用户的系统主题为某些特定的小部件或小部件组合添加特定定义,从而显式重复颜色而不是从通用规则继承它们,我需要在我的应用程序样式表中添加另一个特定规则来修复该特定情况。也就是说,已安装系统主题的可能引导不当的结构迫使我的应用程序样式表采用相同的引导不当的错误做法,并且有数百个单例定义一遍又一遍地重复相同的值。

问题

  • 我怎样才能告诉 GTK 在我的应用程序中使用我的样式表?
  • 是否有任何可行的替代方案,它不是那么激进,但仍然允许我按照预期的方式使用 CSS(最少的规则集 + 级联)?
0 投票
1 回答
151 浏览

c++ - 无法构建使用 std::make_unique 的 gtkmm 程序

我一直在使用 Gtkmm 编程一段时间,使用 C++11 功能没有问题。今天,我使用 C++14 特性添加了一行代码,std::make_unique并得到了编译器错误。起初,我以为我的构建配置有问题,但经过一些测试,我将其缩小到 Gtkmm。这是在我的系统上构建良好的代码:

构建命令:

代码:

如果我切换到这个构建命令:

代码不再构建。我收到以下错误:

Gtkmm有什么问题?供您参考,我使用的是 g++ v 5.4.0 和 gtkmm 3.0。

编辑:这似乎与 C++14 无关。我尝试使用其他 C++14 功能进行构建,例如[[DEPRECATED]]效果很好。也许只有标准库......我也尝试切换到 g++ 7 并得到了同样的错误。

0 投票
1 回答
144 浏览

c++ - 如何创建 Gdk::Pixbuf 实例的 std::map 并在 Gdk::Cairo 中使用它

我想有人可能会觉得它微不足道,但我在这里问它,因为我找不到一个直截了当的答案。

让我们深入研究这个问题:

拥有多个图像的资源以及不断使用这些图像的 cairo 上下文。当然,我可以这样做:

然后我可以将它与 Cairo 上下文指针一起使用,如下所示:

图像没有改变,但它每次都会创建 Pixbuf 实例。我想使用c++ 地图并将我的图标放入其中。然后,我想从地图中获取图像指针。我做了这样的事情:

现在,我不知道应该如何调用此地图以与开罗上下文一起使用。换句话说,我应该如何从基础对象创建一个Glib::RefPtr,比如GdkPixbuf*

0 投票
1 回答
260 浏览

c++ - 如何在 gtkmm3 中动态命名小部件变量?

我正在尝试创建 10 个 Gtk::Buttons 而不去


一个Qt但类似的问题是here

我已经尝试过Qt 示例,但它有文件名,我不知道它的用途。

对于字符串数组(带有“button1”、“button2”、“button3”的列表)循环将在此处生成指针错误

我需要做的是为按钮的变量生成动态命名,然后执行

0 投票
1 回答
651 浏览

c++ - 如何使用 Gtkmm 获取光标位置?

哪些 Gtkmm 函数可以帮助我获取光标的位置(x,y)。据此 C#有

Gdk.Display.Default.WarpPointer(Gdk.Display.DefaultScreen, 20, 20);

窗户有

获取光标位置

Qt 有

QCursor::pos()

gtkmm有什么?

0 投票
0 回答
38 浏览

c++ - 如何阻止 GestureDrag 重置坐标?

我正在尝试在 Gtk::Fixed 中移动 Gtk::Button,就像在窗口管理器上的 Gtk::Window 一样。我在按钮周围有 Gtk::GestureDrag。到目前为止,我可以移动按钮。

如果我将 Button 移动到新位置并单击那里的按钮,则该按钮将移回其原始位置。

这是一个缩小的代码

主文件

当我单击它而不拖动时,如何使按钮保持在新位置?`

0 投票
1 回答
136 浏览

containers - 哪个 Gtk 容器信号检测到鼠标指针位于小部件顶部?

我有一个带有 4 个按钮的 Grid 容器。我需要捕捉一个可以识别鼠标指针悬停在按钮顶部的信号。我还不想点击按钮。我只想检测指针的存在。

0 投票
1 回答
555 浏览

c++ - 如何将 Gtkmm 信号连接到另一个类中的功能?

我是 C++ 和 Gtkmm3 的新手。我需要在另一个类中设置信号,如果不使用小部件类中的函数加载类,我将如何做到这一点。

我不想在 ButtonBox 中重新加载整个 FixedLayout

在类 ButtonBox 我不想要

以下显示了我的代码

布局.cpp

布局.h

0 投票
0 回答
16 浏览

events - 是否依赖 Gdk::ModifierType 计算机?

我可以捕获 Gdk::ModifierType。当我执行鼠标按钮事件时,修改器会发出
272用于左键单击
1040用于右键单击
16用于按钮释放
如果我在另一台计算机上运行我的程序,它会为鼠标事件发出相同的信号吗?