首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

如何在3.20版本之后的gtk3中从主题css文件中读取值

在3.20版本之后的gtk3中,可以通过以下步骤从主题CSS文件中读取值:

  1. 首先,确保你已经安装了gtk3的开发包,并且已经在你的项目中引入了gtk3的头文件。
  2. 创建一个GtkCssProvider对象,该对象用于加载和解析CSS文件。可以使用gtk_css_provider_new()函数来创建该对象。
  3. 使用gtk_css_provider_load_from_file()函数将CSS文件加载到GtkCssProvider对象中。该函数接受两个参数,第一个参数是GtkCssProvider对象,第二个参数是CSS文件的路径。
  4. 使用gtk_style_context_add_provider()函数将GtkCssProvider对象添加到你想要应用CSS样式的GtkWidget对象的样式上下文中。该函数接受三个参数,第一个参数是GtkStyleContext对象,第二个参数是GtkCssProvider对象,第三个参数是GTK_STYLE_PROVIDER_PRIORITY_APPLICATION。
  5. 现在,你可以使用gtk_style_context_get_property()函数从GtkStyleContext对象中获取CSS属性的值。该函数接受三个参数,第一个参数是GtkStyleContext对象,第二个参数是属性的名称,第三个参数是一个GValue对象,用于存储属性的值。

下面是一个示例代码,演示了如何从主题CSS文件中读取值:

代码语言:txt
复制
#include <gtk/gtk.h>

int main(int argc, char *argv[]) {
    gtk_init(&argc, &argv);

    // 创建GtkCssProvider对象
    GtkCssProvider *provider = gtk_css_provider_new();

    // 加载CSS文件
    gtk_css_provider_load_from_file(provider, "theme.css", NULL);

    // 创建一个GtkWindow对象
    GtkWidget *window = gtk_window_new(GTK_WINDOW_TOPLEVEL);

    // 获取窗口的样式上下文
    GtkStyleContext *context = gtk_widget_get_style_context(window);

    // 将GtkCssProvider对象添加到样式上下文中
    gtk_style_context_add_provider(context, GTK_STYLE_PROVIDER(provider), GTK_STYLE_PROVIDER_PRIORITY_APPLICATION);

    // 获取CSS属性的值
    GValue value = G_VALUE_INIT;
    gtk_style_context_get_property(context, "background-color", &value);

    // 打印属性的值
    if (G_VALUE_HOLDS_STRING(&value)) {
        g_print("Background color: %s\n", g_value_get_string(&value));
    }

    // 释放资源
    g_object_unref(provider);
    g_value_unset(&value);

    gtk_main();

    return 0;
}

在上面的示例代码中,我们假设主题CSS文件名为"theme.css",并且我们想要获取窗口的背景颜色属性。你可以根据你的实际需求修改代码。

请注意,这只是一个简单的示例,你可能需要根据你的具体情况进行适当的修改和扩展。此外,你还可以使用其他函数来获取和设置CSS属性的值,以满足你的需求。

推荐的腾讯云相关产品:腾讯云服务器(https://cloud.tencent.com/product/cvm)

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

linux显示颜色设置命令_ubuntu修改终端颜色

修改Ubuntu主题颜色 Ubuntu主题中,我比较喜欢使用Radiance主题,但是他工具提示颜色我很不喜欢,因为看其来很不顺眼,虽然可以在自定义颜色中进行调节,但是我有觉得出现一个自定义主题很不好看所以开始手动修改主题颜色显示...首先打开主题配置文件,比如Radiance主题。...其中ntooltip_bg_color是工具提示背景色,ntooltip_fg_color是显示文字颜色,我一般都会把他们改成ntooltip_bg_color:#F5F5B5\ntooltip_fg_color...ps3:KDE+最新版GTK3下面修改 KDE修改方法还是和上面一样,但是GTK3修改地方变了 修改/usr/share/themes/Breeze/gtk-3.0/gtk.css文件,搜索toolt...发现本站有涉嫌侵权/违法违规内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

3.9K30

【信仰充值中心】Pale Moon 29 正式版更新日志

更新了端口黑名单(移除 10080 端口),详见实施说明 CSS:实现了 calc() 方法,对 stroke-dashoffset 启用动画支持 添加了 chrome CSS 样式表布尔选项支持,以实现更高级主题配置...添加了 CSS 动态深色主题支持 根据最新规范变更了 ResizeObserver 具体实现,详见实施说明 删除了一大堆 Macintosh 相关代码 布局引擎移除了过时系统主题支持 修复了数个崩溃问题...然而,很多其他公共服务/设备也使用这个端口(比如随机到它),所以我们再次黑名单移除了此端口。...,网络发现程序无法正确启动问题 修正了通过 DOM 大量上传文件崩溃问题 修正了可编辑菜单列表按钮在 GTK3 上不可见问题 减少了错误日志「重要配置项」数量,比如单个打印机属性信息 修复了...,以支持软键盘敏感内容显示 启用了空闲时关闭文件 I/O 进程资源优化 已默认阻止后台自动播放 除了 GTK2 版本,我们现在还提供 Linux 官方 GTK3 版本构建 Google WebComponents

1.4K50
  • 开源绘画应用 Pinta 已移植到GTK 3和.NET 6

    photoshop , 它是Paint.NET 移植版本。...Pinta 2.0 新功能: 移植到 GTK3 和 .NET 6 对标准 GTK 微件和对话框(例如,拾色器和文件对话框)外观进行了许多更改。GTK3 主题现在也应该得到支持。...改进了对高 DPI 显示器支持。 现在使用平台本机文件对话框(#1909807、#1909664)。 建议使用 GTK 版本 3.24.21 或更高版本。...早期版本在"另存为"对话框(#1909807)更改文件筛选器时存在错误。 在 macOS 上,菜单现在显示在全局菜单栏,而不是应用程序窗口中。..."打开最近打开最近"菜单项在 GTK3 已弃用,并且已被删除,但文件对话框"最近"部分中提供了类似的功能。 对加载项支持已被删除,但可能会在将来版本返回 (#1918039)。

    1.3K10

    一键伪装成Win 10,Kali Linux 2019年最终版重磅功能预览

    启动、登陆界面 Kali Linux 2019.4发行版更新说明 一个新默认桌面环境,Xfce 新GTK3主题(用于Gnome和Xfce) 引入Kali Undercover模式 Kali文档有了一个新家...版本 ...以及常规错误修复和更新 新桌面环境和GTK3主题 在最新版本,Kali完全舍弃了Gnome桌面而转向了Xfce。...暗黑主题和浅色主题 不过如果部分用户仍然想继续留在Gnome桌面环境,Kali最新版本则继续提供了gnome版本,用户可自行选择。...去年六月份开始,官方就有文档说明在Kali Linux安装PowerShell,而在今年11月份更新,powershell已添加到主存储库,现在只需要运行: apt update && apt...安装过程BTRFS Kali Linux 2019.4新增使用BTRFS作为根文件系统。这是Re4son记录一种令人惊叹方法,完成后,您可以在升级后执行文件系统回滚。

    2.2K30

    在 Fedora 34 及以上版本安装 Shutter

    不幸是,由于各种依赖性问题,特别是它设计方式,多年来,Linux 发行版, Ubuntu、Fedora,都面临着将这个应用打包到官方仓库问题。 主要问题是它仍然基于 GTK2 和 Perl。...当大多数应用转移到 GTK3 时,它仍然是 GTK2。这就造成了一个依赖性问题,因为 Debian/Ubuntu、Fedora 删除了某些包依赖 GTK2 版本。...在 Fedora 34 及以上版本安装 Shutter 截图工具需要采用另一种方法。 现在,你只能通过个人包存档(PPA)来安装这个工具。下面是如何在 Fedora 34 及以上版本安装它。...Shutter in Fedora 在 Fedora 34 及以上版本安装 Shutter 在你 Fedora 打开一个终端,启用以下 Shutter copr 仓库。...sudo dnf install shutter 尽管目前最新版本是 v0.97。遗憾是,该仓库目前包含旧 v0.94.x。我希望版本所有者尽快包括最新版本

    58240

    在 Fedora 34 及以上版本安装 Shutter

    不幸是,由于各种依赖性问题,特别是它设计方式,多年来,Linux 发行版, Ubuntu、Fedora,都面临着将这个应用打包到官方仓库问题。 主要问题是它仍然基于 GTK2 和 Perl。...当大多数应用转移到 GTK3 时,它仍然是 GTK2。这就造成了一个依赖性问题,因为 Debian/Ubuntu、Fedora 删除了某些包依赖 GTK2 版本。...在 Fedora 34 及以上版本安装 Shutter 截图工具需要采用另一种方法。 现在,你只能通过个人包存档(PPA)来安装这个工具。下面是如何在 Fedora 34 及以上版本安装它。...Shutter in Fedora 在 Fedora 34 及以上版本安装 Shutter 在你 Fedora 打开一个终端,启用以下 Shutter copr 仓库。...sudo dnf install shutter 尽管目前最新版本是 v0.97。遗憾是,该仓库目前包含旧 v0.94.x。我希望版本所有者尽快包括最新版本

    52030

    C++ getchar()函数

    getchar函数功能: stdio流字符,相当于getc(stdin),它从标准输入里读取下一个字符。返回类型为int型,返回值为用户输入ASCⅡ码,出错返回-1。...具体说明: 1.从缓冲区走一个字符(相当于清除缓冲区); 2.前面的scanf()在读取输入时会在缓冲区留下一个字符'\n'(输入完s[i]值后按回车键所致),所以如果不在此加一个getchar(...='\n');  (2)用getche()或getch()代替getchar(),其作用是键盘读入一个字符(不用按回车),注意要包含头文件 函数用法: 该函数声明在stdio.h...头文件,使用时候要包含stdio.h头文件。...见图3.20,字母按上述规律转换,非字母字符不变,"Wonderful!"转换为"Asrhivjyp!"。

    2.3K40

    一键伪装成Win 10,Kali Linux 2019.4新版安装体验及中文设置

    ,系统界面、主题、壁纸都灿然一新 最明显变化是Gnome迁移到Xfce作为默认桌面,Kali Undercover模式(能够伪装成win10) 文章顺便提一下关于安装完成后中文乱码解决方式 下载地址...,Xfce 新GTK3主题(用于Gnome和Xfce) Kali Undercover模式介绍 Kali文档有了一个新家,现在支持Git 公共包装-把你工具放进Kali 安装在Android上NetHunter...Kex – Full Kali 桌面 安装过程BTRFS 添加PowerShell 内核升级到5.3.9版本 ...以及常规错误修复和更新。...,在终端输入kali-undercover并运行,就能够快速将默认主题切换为类似Windows 10桌面环境,非常逼真,这样可以放心“工作”。...Powershell 去年六月份开始,官方就有文档说明在Kali Linux安装PowerShell, 而在今年11月份更新,powershell已添加到主存储库,现在只需要运行: apt update

    2.3K40

    Mirages主题帮助文档

    安装主题文件 将压缩包内1.主题文件文件Mirages文件夹完整上传到服务器上 Typecho /usr/themes/文件夹内,然后到 Typecho 后台,启用主题即可。 2....静态文件未压缩版不需要上传至您服务器,其中包含了 Mirages 主题 css 和 js 未压缩版文件,根据需要保存到您计算机上即可。...更新主题和插件 主题在后台控制台->外观->设置外观页面提供了主题最新版本检测功能。在有新版本之后,您可以选择使用在线更新或手动更新来完成主题和插件更新操作。 1....导航栏操作按钮 说明 Mirages 主题在1.6.0版本添加了侧边栏 Toolbar,你可以在此放置你喜欢图标, RSS、社交账户链接、夜间模式切换等。...= 1 文章加载第一篇文章作为主图 7.10.0 及以上版本可用 设置名:enableLoadFirstImageFromArticle 说明 在没有配置文章主图时候,默认文章加载第一篇文章作为主图

    10K20

    前端主题切换方案详解

    方案1:link标签动态引入 其做法就是提前准备好几套CSS主题样式文件,在需要时候,创建link标签动态加载到head标签,或者是动态改变link标签href属性。...在做主题切换技术调研时,看到了网友一条建议: 因此下面的几个方案主要是针对变量来做样式切换 方案3:CSS变量+类名切换 灵感参考:Vue3官网 在Vue3官网有一个暗黑模式切换按钮,点击之后就会平滑地过渡...大体思路跟方案2相似,依然是提前将样式文件载入,切换时将指定根元素类名更换。不过这里相对灵活是,默认在根作用域下定义好CSS变量,只需要在不同主题下更改CSS变量对应取值即可。...现在方案我们需要考虑问题是,如果是基于JS层面如何在各个组件上优雅地使用统一样式变量?...优点: 不用重新加载样式文件,在样式切换时不会有卡顿 仔细琢磨可以发现其原理跟方案4利用Vue3新特性v-bind是一致,只不过此方案只在:root上动态更改CSS变量而Vue3会将CSS变量绑定到任何依赖该变量节点上

    71831

    【Web技术】623- 简单好用前端深色模式主题化开发方案

    甚至可以在运行时实时新增主题,摆脱传统css主题文件加载模式下主题需要预编译内置不能随时修改弊端。下面我们来看一下如何使用css自定义属性来完成深色模式和主题开发。...它包含值可以在整个文档重复使用。自定义属性使用 --``变量名``:``变量值来定义,用var(--变量名[,默认值]) 函数来获取值。举一个简单例子: <!...由于主题数据可能是接口等其他地方获取,我们可以在使用地方给它先加上默认值,避免主题数据到达之前出现没有颜色现象,比如 p { color: var(--变量1, 色值1);}这样,就使用上了css...至此我们打通了主题服务和css变量值在开发应用,下面就可以开发一个深色模式了。...这种自动出暗色版本色值还有待探索,主要有两个原因:1)深色模式舒适度不是线性亮度和饱和度映射能完成,颜色函数计算深色映射显得相对单调。2)实际情况是一个颜色可能会映射到多个暗黑场景颜色。

    2.1K10

    JavaFX 11 发布,与 JDK 拆分后首个正式大版

    由于 JavaFX 库被写成了 Java API,因此 JavaFX 应用程序代码可以调用各种 Java 库 API,例如 JavaFX 应用程序可以使用 Java API 库来访问本地系统功能并且连接到基于服务器中间件应用程序...JavaFX 可以自定义程序外观,CSS 将外观和样式与业务逻辑实现进行了分离,因此开发人员可以专注于编码工作。值得注意是, JDK 11 开始,JavaFX 模块与 JDK 分开提供 。...JavaFX 11 需要 JDK 10(必须是 OpenJDK 版本)或 JDK 11,建议使用 JDK 11。 ?...想要在启用安全管理器情况下运行应用程序需要使用“-Djava.security.policy”指定自定义策略文件,并为每个 javafx.* 模块授予所有权限。...默认 GTK 版本 v2 更新为 v3。将在存在 gtk3 Linux 平台上使用 GTK 3。

    2.3K40

    中标麒麟配置本地yum源_优麒麟系统安装

    文件。...You could try running: rpm -Va –nofiles –nodigest } 显示如上图gtk3所示,我把gtk3重新安装了一下,就解决了一些包依赖问题,出现依赖问题原因目前正在探索...2020-06-29 中标麒麟操作系统发布最新版本操作系统,与上一版本相比linux内核降低了,yum工具使用起来比之前版本好用一些,但官方软件源依然有待提高。...建议:直接创建elrepo.repo文件,把下面 ### 开始内容拷贝到该文件,更新即可: [neokylin@localhost yum.repos.d]$ cat elrepo.repo ##...是否有处理器有x86和x64两种版本? – 知乎 rpm软件包文件,不仅包含了软件名称,版本信息,还包括了适用硬件架构信息。

    5.9K11

    前端常见面试题--初级版

    我们前端常见面试题涉及多个方面,这篇文章就先简单把每个方面都举几个列子,分别写一下常见主题和可能问题。# 一:HTML/CSS 基础### 问题:1.解释一下什么是语义化标签?它好处是什么?...2.CSS 选择器优先级是如何工作?3.CSS3 有哪些新特性?4.CSS 盒模型是什么?5.如何实现元素垂直和水平居中?...**盒模型:**CSS盒模型描述了元素如何在页面上呈现,包括内容(content)、内边距(padding)、边框(border)和外边距(margin)。...2.如何在 React 实现组件之间通信?3.Angular 依赖注入是如何工作?4.你如何使用 jQuery 选择和操作 DOM?...**Babel:**Babel是一个JavaScript编译器,它可以将ES6+代码转换为向后兼容JavaScript版本,以便在旧版本浏览器运行。

    8510

    Zepto源码之样式操作

    Zepto源码系列文章已经放到了github上,欢迎star: reading-zepto 源码版本 本文阅读源码为 zepto1.2.0 内部方法 classRE classCache = {}...calssCache 初始化时是一个空对象,用 name 用为 key ,如果正则已经生成过,则直接 classCache 取出对应正则表达式。...}) } css 方法有两个参数,property 是的 css 样式名,value 是需要设置值,如果不传递 value 值则为取值操作,否则为赋值操作。...,css 方法必定只传递了一个参数,所以用 arguments.length < 2 来判断,用 css 方法来获取值,获取是集合第一个元素对应样式值。...所以还需要用获取元素计算样式,如果为 none ,则将 display 属性设置为元素显示时默认值。 table 元素 style display 属性值会被设置为 table。

    2.1K00
    领券