如何设置 Gtk# 复选框小部件的指示器大小?



有人可以告诉我如何更改gtk#中复选框的白色方块(指示器?阿皮说,

GtkCheckButton:指标大小自 3.20 版起已被弃用,不应在新编写的代码中使用。在指示器节点上使用 CSS 最小宽度和最小高度。

但是这个"在指标节点上"指的是什么?现在如何更改指标的大小?顺便说一句,我正在Linux(monodevelop(上编写C#:

static void Main()
{
Gtk.CssProvider cssProvider= new CssProvider();
cssProvider.LoadFromPath("style.css"); //connect to a css file defining the checkbutton's style property
Application.Init();
Gtk.Window win = new Gtk.Window("hello");
win.SetDefaultSize(600,240);
win.StyleContext.AddProvider(cssProvider,1);

Gtk.HeaderBar win_title_bar = new HeaderBar();
Gtk.Label title_bar_title = new Label();
title_bar_title.Markup = "<span font-size="14000"><b>PLZ Help!</b></span>";
title_bar_title.MarginStart = 10;
win_title_bar.PackStart(title_bar_title);
win_title_bar.ShowCloseButton = true;
win.Titlebar = win_title_bar;

Gtk.VBox main_vbox = new VBox();
win.Add(main_vbox);
Gtk.Label lbl1 = new Label();
lbl1.Name = "lbl1";
lbl1.Markup = "<span font-size="12000">lbl of the checkbutton</span>";
lbl1.MarginStart = 10;
Gtk.CheckButton chk1 = new CheckButton();
chk1.Name = "chk1";
chk1.Add(lbl1);
chk1.StyleContext.AddProvider(cssProvider, 1);//telling chk1 to read the style code in style.css
Gtk.Alignment chk_align = new Alignment(0.5f,0f,0,0);
chk_align.Add(chk1);
main_vbox.PackStart(chk_align, false, false, 0);
win.DeleteEvent += delete_event;
win.ShowAll();
Application.Run();
}

static void delete_event(object obj, DeleteEventArgs args)
{
Console.WriteLine("Quit");
Application.Quit();
}

以下style.css是我一直在尝试的语法,但没有一个有效。我把它们都放在这里。

checkbutton indicator {
min-width:30px;
min-height:30px;    
}
checkbutton:indicator {
min-width:30px;
min-height:30px;    
}
.indicator {
min-width:30px;
min-height:30px;    
}
checkbutton check {
min-width:30px;
min-height:30px;    
}
check {
min-width:30px;
min-height:30px;    
}
indicator {
min-width:30px;
min-height:30px;    
}

请帮忙!

老问题,但也许这可以帮助其他人。

您的一条线很好,请尝试删除其他行。

要修改复选按钮的指示器节点,您可以添加

checkbutton check{
min-width: 30px;
max-height: 30px;
}

事实上,指示器节点检查一个复选按钮(如果复选按钮是分组的,或者它是一个单选按钮,则为单选按钮(。在 gtk3 文档中并不清楚。但是在 GTK4 文档中,我们可以找到这句话:

GtkCheckButton有一个带有名称检查按钮的主节点。如果设置了"标签"属性,则它包含一个标签子项。如果未设置组,则指示器节点命名为 check;如果选中按钮与其他复选框组合在一起,则命名为单选按钮。

您还可以过滤按钮的状态:

checkbutton:checked check{
background: #F00000;
}

最新更新