gpt4 book ai didi

gtk3 - 如何让 yad for gtk3 自定义按钮字体、背景和前景色?

转载 作者:行者123 更新时间:2023-12-04 14:20:42 25 4
gpt4 key购买 nike

我在 Raspberry Pi 3 上使用 yad for GTK3(不是 GTK2)来显示一组按钮。屏幕离我坐的地方很远,所以我需要一种方法来使按钮文本和突出显示的按钮脱颖而出。我完全不熟悉 GTK3 的内部工作原理,只需要一步一步地做什么。我不想更改主题或其他更多全局设置,我只是希望它适用于这个 YAD 执行。是否可以?

我看到一个博客,描述了如何使用 RC 文件更改按钮样式,但那是针对使用 GTK2 库的 yad 版本。我很快就知道这在 Pi 3 上对我不起作用。我应该提到我使用的是 LXDE 的默认窗口管理器。

我希望有人可以逐步提供文件内容的新手,将文件放在哪里以及如何使用它。我知道该解决方案与 css 有关,但我不熟悉如何做类似的事情以及如何使 CSS 仅对 yad 有效,我也不知道要在所述 css 文件中放入什么内容。

最佳答案

我主要是解决了我自己的情况。希望这对其他人有帮助。它并不完美,但它满足了我的需求。

我做的第一件事是使用 GTK 调试器启动 yad。

export GTK_DEBUG=interactive
yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"

在调试器中对我来说最有用的事情是选择和查找对象的名称并即时编辑 css。我不知道CSS。我把我在其他网站上发现的点点滴滴拼凑起来,这些网站大多有效。

然后另一件有帮助的事情是能够“即时”更改 GTK3 主题。我这样做了:
export GTK_THEME="Adwaita-dark"

然后我再次重新运行 yad 线。它暂时使用了新主题。

我发现这个主题主要是我想要的,它似乎尊重我的自定义 css。出于某种我没有深入研究的原因,使用“Adwaita”的默认主题不尊重我的自定义 css。显然,如果我选择不同的主题,您必须将自定义 css 放在该主题的目录中,而不是“Adwaita-dark”

为了保存我的自定义,我创建了 $HOME/.themes 并在那里创建了以下目录:
  • $HOME/.themes/Adwaita-dark
  • $HOME/.themes/Adwaita-dark/gtk-3.0

  • 然后我把我的自定义 css 放在 $HOME/.themes/Adwaita-dark/gtk-3.0/gtk.css

    这是我的自定义 css,它覆盖了 yad 的默认值:

    /* The background of the entire window
    box {
    background-image: image(rgb(224, 224, 209));
    } */

    /* The progress slider */
    progress {
    /* background-image: image(rgb(102, 102, 255)); */
    background-image: image(rgb(102, 0, 255));
    }

    /* this gets us the highlighting behavior */
    button:focus {
    color: black;
    border-top-color: yellow;
    border-left-color: yellow;
    border-right-color: yellow;
    border-bottom-color: yellow;
    border-bottom-width: 10px;
    border-top-width: 10px;
    border-bottom-width: 10px;
    background-image: image(rgb(255,102,255));
    }


    button {
    color: yellow;
    font: 24px "comic sans";
    border-top-color: black;
    border-left-color: black;
    border-right-color: black;
    border-bottom-color: black;
    border-bottom-width: 10px;
    background-image: image(rgb(100,100,100));
    }


    上面的一些指令并没有真正对这个主题做任何事情,但我把它们留了下来,以防我将来想尝试。我开始 yad 的方式是这样的:
    GTK_THEME="Adwaita-dark" yad --title "my title" --button "button1:1" --button "button2:2" --button "button3:3" --text "some text"

    关于gtk3 - 如何让 yad for gtk3 自定义按钮字体、背景和前景色?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55348868/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com