gpt4 book ai didi

css - 如何自定义 GtkScale 形状(C 程序)以获得像 GIMP 的 "level"窗口中的 slider

转载 作者:太空宇宙 更新时间:2023-11-03 23:44:25 25 4
gpt4 key购买 nike

我有一个关于 GtkScale 形状的问题。

事实上,我希望我的 Gtkscale 在 Gimp 的关卡窗口中看起来像。我的意思是:

  • 酒吧
  • 3 个三 Angular 形(这里有一个用于阴影,一个用于中间调,一个用于高光) Sliders in gimp

我可以使用 GtkLabel 和 CSS 文件构建阴影栏:

.label-shade {
background-image: -gtk-gradient (linear,
left top, right top,
from (black),
to (shade (white, 0.95)));
}

但我不知道如何构建三 Angular 形 slider 。

最佳答案

为了快速实现,您可以利用 3 个嵌套的 GtkPaned 来模拟该行为:

<?xml version="1.0" encoding="UTF-8"?>
<!-- Generated with glade 3.20.0 -->
<interface>
<requires lib="gtk+" version="3.20"/>
<object class="GtkWindow">
<property name="can_focus">False</property>
<child>
<object class="GtkBox">
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="orientation">vertical</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">0</property>
</packing>
</child>
<child>
<object class="GtkPaned">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkPaned">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="position">10</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
<child>
<object class="GtkOverlay" id="Overlay1">
<property name="width_request">48</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage">
<property name="width_request">24</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="stock">gtk-go-forward</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
<child type="overlay">
<object class="GtkImage">
<property name="width_request">24</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="stock">gtk-goto-first</property>
</object>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">False</property>
</packing>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">False</property>
</packing>
</child>
<child>
<object class="GtkPaned">
<property name="width_request">48</property>
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="wide_handle">True</property>
<child>
<object class="GtkOverlay" id="Overlay2">
<property name="width_request">48</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<child>
<object class="GtkImage">
<property name="width_request">24</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">end</property>
<property name="stock">gtk-goto-last</property>
</object>
<packing>
<property name="index">-1</property>
</packing>
</child>
<child type="overlay">
<object class="GtkImage">
<property name="width_request">24</property>
<property name="visible">True</property>
<property name="can_focus">False</property>
<property name="halign">start</property>
<property name="stock">gtk-go-back</property>
</object>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">False</property>
</packing>
</child>
<child>
<object class="GtkLabel">
<property name="visible">True</property>
<property name="can_focus">False</property>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">True</property>
</packing>
</child>
</object>
<packing>
<property name="resize">True</property>
<property name="shrink">False</property>
</packing>
</child>
</object>
<packing>
<property name="expand">True</property>
<property name="fill">True</property>
<property name="position">1</property>
</packing>
</child>
</object>
</child>
</object>
</interface>

关于css - 如何自定义 GtkScale 形状(C 程序)以获得像 GIMP 的 "level"窗口中的 slider ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37438087/

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