问题标签 [gtkmm]

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 回答
744 浏览

gnome - 无法在基于 gtkmm 的 gnome-panel 小程序上显示图像

我在尝试使用 gtkmm 创建 gnome-panel 小程序时遇到了麻烦。我处理了他们中的大多数,但我现在有点受阻。

快速总结:我尝试了 libpanelappletmm,但是当我尝试在面板中添加小程序时,每个程序(甚至是源代码中提供的示例)都会出现段错误。所以我现在使用 C 库(libpanel-applet)。首先,我寻找一种将 PanelApplet Gobject 包装在 gtkmm C++ 对象中的方法,例如 Gtk::EventBox(PanelApplet 继承自 GtkEventBox)。我试图投射它,但 Glibmm 不断发出警告(“无法包装对象'PanelApplet'”)。

所以我创建了一个类“Info”,继承自 Gtk::HBox。在我的 main.cpp 文件中,我声明了它的一个实例,获取底层 GTK 对象(gobj 方法),并使用 GTK+ 函数将它添加到 PanelApplet 中。

这是我的 main.cpp。

如果我在 Info 对象中添加标签或按钮,它工作正常。

但后来我尝试添加一个图标。我的第一次尝试是添加一个 Gtk::Image 作为 Info 的属性。

信息.hpp

信息.cpp

当我尝试添加小程序时,我收到此错误并且程序中止:

我从 Info.hpp 中评论了“Gtk::Image icon”,并像这样修改了我的构造函数:

我不再收到 Glibmm 错误,但没有显示图像。我尝试使用另一个文件,使用股票中的图标,甚至使用 Gdk::Pixbuf。

先感谢您 !

0 投票
1 回答
649 浏览

c++ - 从 ustring 获取子字符串

我有一个 ustring 对象 sourceString,它是 πøˆ∑´®。我在解析 XML 文件时从 XML 文件中获取这些字符串。我使用 substr 方法来获取这些字符串,如下所示。

但是,我只能得到空字符串,我应该如何从中获得子字符串。

0 投票
2 回答
528 浏览

c++ - 带有 Gio 文件监视器的 gtkmm 应用程序

我需要监视多个目录的更改。我完全按照文档的建议使用Gtk::Main、调用Gio::Init和添加目录监视器。但是,对于任何目录,都不会调用回调。我是否需要单独用于监视器的另一个循环,如果需要,我将如何将它与 结合使用Gtk::Main

0 投票
2 回答
27128 浏览

c++ - 编译gtkmm的问题

操作系统:Fedora 14

编译器:g++ (GCC) 4.5.1 20100924 (Red Hat 4.5.1-4)

我通过 yum 从存储库安装了 gtkmm24-devel。为了确保安装按计划进行,我决定尝试页面上的一个示例。

我运行了这个例子,然后,嘿!它说找不到gtkmm.h,没问题,我只是忘记链接库了。我通过 Eclipse 将 /usr/include/gtkmm-2.4 添加到我的库搜索中。没有bueno,g++还是找不到!

然后我尝试通过使用#include <gtkmm-2.4/gtkmm.h>和重新编译来包含 gtkmm,另一个错误!:(

谢谢阅读。

0 投票
1 回答
177 浏览

tags - 树视图内部的树视图?或如何在树视图中显示列表

我有一个列出对象属性的树视图。其中一个属性是标签(字符串)列表,可以是从零到任意数量的项目的列表。所以你可以用“Jazz”、“Favourite”和“Chillout”或其他什么来标记一首歌。目前,我将这些实现为一个用逗号分隔每个标签的字符串,但我想要一个更直观的用户界面。所有其他属性都显示在 2 列树视图中,其中第一列是属性名称,第二列是属性值。

它认为一种方法是在标签行的第二列中放置另一个树视图,用户可以单击一行来编辑/删除它,或者有一个“添加新标签...”行让他们添加新的标签。

我怎么可能这样做?或者,有什么不同的 GUI 建议吗?

0 投票
1 回答
65 浏览

gtk - 在 gtkmm 项目中使用 c 文件

我已将 c 文件添加到 gtkmm 项目目标,但由于它是 c 文件,因此无法为其创建对象。

那么我应该怎么做才能将它集成到我的项目中。

0 投票
1 回答
3040 浏览

c++ - 将任何矩形绘制到 GTK+ DrawingArea 会填充整个 DrawingArea

我有一个 GTK+ DrawingArea,它应该在左上角显示一个矩形。当我使用 Cairo 绘制矩形时,整个绘图区域都填充了矩形的颜色。我怎样才能防止这种情况?开罗为什么要这样做?我究竟做错了什么?

我使用编译代码

0 投票
2 回答
107 浏览

gtk - 使用 libcluttermm-1.0 问题

我已经使用终端从 gnome 站点安装了 clutter-1.0。

但是当我运行应用程序时,错误被通知为 libcluttermm-1.0 not found。有这个

图书馆目前不可用。如果不是,我可以使用什么替代方案。

0 投票
2 回答
734 浏览

gtk - 清理 GTKmm 应用程序的代码

大约 6 个月前我开始了一个 GTKMM 应用程序,它已经达到了一切正常的地步,我实际上每天都在使用它。它本质上是一个数据库应用程序,它从另一个应用程序中读取数据文件,生成图表并让您轻松排序和查看数据。我喜欢。

然而,我相信我的代码是一团糟,当我今天去实现另一个功能时,我意识到我可能在某个地方转错了方向。

我的主窗口 GUI 是在一个 gade 文件中定义的,并且所有 GUI(除了我的绘图小部件,它是基于 Gtk::DrawingArea 的自定义小部件)都在一个文件中。它充满了指向小部件和树存储的指针,它们都在构造函数中设置并在析构函数中删除。

整个 GUI 是一个主窗口,分为不同的窗格,因此将所有内容放在一个文件中是有意义的。此外,不同的窗格需要与其他窗格“通信”。

我应该如何更好地组织我的代码以使其可维护?我是否要创建一个本质上是小部件集合的新类,然后将那个“超级小部件”放在我的主窗口中(比如每个窗格都是一个超级小部件)?

GTKMM 教程通常非常简约,因此我无法在那里获得太多见解。

0 投票
1 回答
1410 浏览

linux - 使用 gtkmm 设置自定义应用程序主题

我正在开发一个小型企业应用程序,我的开发环境是Linux系统。无论如何,我正在使用像 Boost/GtkMM/SQLite 这样的库,所以很容易将它移植到 Windows 系统(这是目标平台)或 Mac。我想让我的应用程序在每个平台上都以相同的主题出现,那么有没有办法对主题进行硬编码或至少从 C++ 加载它?我想这种问题涉及到 gtk-engines 之类的东西,但真的不知道如何解决这个问题。感谢您的建议!