如何在 GTK 中的其他小部件上渲染具有透明背景的文本?

2023-12-10

我希望在其他 gtk 小部件(如 GtkImage 或 GtkButton 等)上渲染具有透明/半透明背景(或无背景)的文本。 主要目标是在后台的 Gtk Widget(尤其是 GtkImage)上显示文本。 我可以使用 pangocairo 库在 GtkFrame 上渲染文本,但我无法摆脱 GtkFrame 的背景。

我见过使 GtkWindow 透明或半透明的示例,但我希望使用 GtkLayout 来使用不透明的 GtkWindow 来放置 GtkWidget,然后将 GtkImage 放在布局上并在 GtkImage 顶部渲染文本,以便为我的文本提供漂亮的背景。

我也尝试过使用 GtkDrawingArea,但后来我在创建 cairo 上下文时迷失了方向 pixbuf 并在其上渲染文本。任何帮助表示赞赏。

注意:我使用 Compiz 来合成窗口。


您可以使用 GtkOverlay 小部件(至少 Gtk+ 3.2)来做到这一点

GtkOverlay — 将小部件叠加在一起的容器

http://developer.gnome.org/gtk3/stable/GtkOverlay.html

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在 GTK 中的其他小部件上渲染具有透明背景的文本? 的相关文章

  • 在 python 中通过 gi.repository 使用开罗区域

    我似乎无法让开罗地区在其中工作 使用 gintrospection 例如 from gi repository import cairo reg cairo Region 会给我 Traceback most recent call las
  • 如何在 GTK 中使用剪贴板?

    我怎样才能使用Gtk剪贴板 https developer gnome org gtk3 stable gtk3 Clipboards html 读取和写入剪贴板 作为示例 请向我展示如何获取当前剪贴板内容并将其打印到控制台 我尝试使用此方
  • GTK 3.x 是一个真正的跨平台解决方案吗?

    我已经尝试过 Qt 4 x 5 x 和 GTKmm 3 x 相比 Qt 我更喜欢 GTKmm 现在我刚刚发现 GTKmm 3 x 不提供 Windows 移植 他们也不提供 Mac 移植 基本上我除了 Linux 的库 源代码 二进制文件之
  • 菜单栏隐藏时加速器停止响应

    我有一个基于空地的 gtk3 用户界面 并且我为几个菜单项设置了加速器字段 我不确定 GtkBuilder 在加载林间空地文件时到底在幕后做了什么 使用全局 GtkAccelGroup 但最终结果是 当我隐藏菜单栏时 加速器快捷键停止工作
  • 两个具有共享滚动条的 Gtk TextView 小部件

    我想要两个并排的 TextView 小部件 它们与单个滚动条一起滚动 我可以将两个 TextView 小部件放入 Hbox 然后将它们添加到 Viewport 然后添加到 ScrolledWindow 然而 这不会按我想要的方式工作 从滚动
  • gtkmm 的 CMake 错误

    我正在使用 Debian 8 并安装了 libgtkmm 3 0 以及 dev 现在我有一个使用 gtkmm 的非常简单的程序 基本上是一个 Hello World 主要 cpp include include BrowserWindow
  • meld - gi.glib.GError:主题中不存在图标“meld-change-apply-right”。安装有什么问题吗?

    我已经成功安装了 meld 3 14 2 和所有依赖包 通过从源代码编译每个包 并且所有包都安装在 NFS 共享上 prefix meld对于融合工具 prefix meld deps对于依赖项 最后 我调用了该工具 我可以看到 GUI 但
  • GTK 窗口运动动画?

    我想自动在屏幕上移动我的 GTK WINDOW 目前我将它置于绘制 移动循环中 但这非常不稳定 我对 GTK 编程 以及一般的 gui 编程 非常陌生 我缺少什么 您还没有说您希望窗口遵循什么样的路径 如果路径是时间的一些简单函数 也就是说
  • 如何在python2.7中安装gtk?

    我正在使用 Debian 6 04 和 Python 2 7我编译了Python 2 7 configure make make install 在控制台中 gt python2 7 Python 2 7 3 default Jul 28
  • 如何针对 gtk 3 库运行 javaFx 应用程序?

    如何强制 javaFx 应用程序使用 gtk3 库 我知道SWT允许设置SWT GTK3 1用于此目的的环境变量 javaFx 是否有类似的可能性 解决方法 新功能 8087516 对 Linux 上的 GTK 3 有条件支持 https
  • Gtk Widget 到 Winform

    是否可以使用 System Windows Forms 将 Gtk 小部件嵌入到应用程序中 谢谢 两个工具包都使用自己单独的 UI Mainloop 来处理事件 例如鼠标移动 按钮按下等 因此 将两者混合实际上是不可能的 尽管几年前 Gtk
  • GTK C# 小部件更改颜色不起作用

    我试图通过使用更改 GTK 中按钮小部件的颜色 button1 ModifyBase Statetype Normal new Gdk Color 1 1 1 这是从另一个按钮单击事件调用的 但小部件颜色未更新 为什么是这样 您可以只使用M
  • 升级到 ubuntu 11.10 unity 后,monodevelop 中的 Gtk# 不再工作

    我有一些带有 GTK 用户界面的 monodevelop 程序 可以在 ubuntu 11 04 中顺利运行 无需统一 我已经统一升级到ubuntu 11 10 现在我收到以下错误 找不到类型或命名空间名称 Gtk 您是否缺少程序集引用 事
  • 更高级别的 Python GUI 工具包,例如为 TreeView/Grid 传递字典

    使用 PyGTK 启动了我的第一个 Python pet 项目 虽然它是一个非常强大的 GUI 工具包并且看起来很棒 但我还是有一些烦恼 所以我考虑转向其他东西 因为它还不太广泛 环顾四周SO https stackoverflow com
  • 如何更改 GTK 中的字体大小?

    有没有一种简单的方法可以更改 GTK 中文本元素的字体大小 现在我能做的就是set markup在标签上 写着一些愚蠢的东西 比如 lbl set markup span s span text 这 1 需要我设置字体 2 似乎有很多开销
  • 如何从 GTK Builder 检索对象的名称? [复制]

    这个问题在这里已经有答案了 如何获取从 Builder 对象检索的 Gtk Widget 的名称 我特指的是在 Glade 中看到的名字 例如 button1 而不是类的名称 GtkWindow 这个问题与this one https st
  • PyGTK:带线程的 gobject.idle_add() 和 timeout_add()

    是否有任何明确的文档说明idle add timeout add 和 或它们安装的实际回调是否需要锁 任何类型 def work args 1 gtk gdk threads enter needed self ui change some
  • GTK 滚动窗口 - 将滚动条保持在底部

    我有一个使用 ScrolledWindow 的 GTK C 程序 我不断将数据添加到滚动窗口内的列表中 并且我想将注意力集中在最新的项目上 但我还想允许用户滚动数据以选择旧项目 有没有办法做到这一点 我到处都找过了 但什么也没找到 我不太清
  • 使用 GTK+ 使用 gtk_event_put 和 GdkEventButton 结构模拟按钮单击

    这是后续如何将合成鼠标事件插入 X11 输入队列 https stackoverflow com questions 10319519 how to insert synthetic mouse events into x11 input
  • 在flatpak项目中使用scrapy脚本

    我正在构建一个 flatpak 构建的项目 我有一个按钮 当单击它时我希望它运行 scrapy 脚本来抓取数据 窗口用户界面

随机推荐