我需要以编程方式从我的 C++ 程序中的 gsettings 获取 com.ubuntu.user-interface 比例因子的值。有什么优雅的方法可以做到这一点,而不是调用 gsettings 二进制文件并解析它的输出?
问问题
581 次
2 回答
4
glibmm 中有一个与 gsettings 的 C++ 绑定。有了它,可以从模式中读取一个值,如下所示。请注意,我没有 Ubuntu 系统可以在其上进行测试,因此具体取决于对文档的简短了解,该文档告诉我scale-factor
是一个整体值。考虑到这一点:
#include <giomm/settings.h>
#include <iostream>
int main() {
Glib::RefPtr<Gio::Settings> s = Gio::Settings::create("com.ubuntu.user-interface");
int i = s->get_int("scale-factor");
std::cout << i << std::endl;
}
另请参见此处。
于 2015-02-18T11:31:53.180 回答
1
由于声誉低,我无法对 Wintermute 答案发表评论,因此我将其发布在这里。
像我一样的 Newbe 可能会遇到问题,包括<giomm/settings.h>
(未找到):解决方案是附加到 gcc 编译命令`pkg-config --cflags --libs glibmm-2.4 giomm-2.4`
(带反引号)
如果你的源文件是
program.cc
,你可以编译它:
g++ program.cc -o program `pkg-config --cflags --libs glibmm-2.4 giomm-2.4`
从这里
于 2017-04-30T15:40:19.513 回答