微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

样式 Gtk.Label 对象

如何解决样式 Gtk.Label 对象

我有一个 应用程序,我想设置标签窗口对象的样式,我尝试了以下操作:

 public Object createConfirm(){
        var window = new Gtk.Window ();
        var grid = new Gtk.Grid () {
            orientation = Gtk.Orientation.VERTICAL,column_spacing = 6,row_spacing = 6
        };
        window.add(grid);
        window.title = "Shutdown Confirmation";
        window.border_width = 10;
        window.window_position = Gtk.WindowPosition.CENTER;
        window.set_default_size (350,80);
        window.destroy.connect (Gtk.main_quit);

        var label = new Gtk.Label(null);
        var label_text = "Are you sure to turn off Now?";
        label.set_markup("<b>"+label_text+"</b>");
        
...

那样 label.set_markup 仅成功地将标签文本加粗。当我尝试 set_markup("<h3>"+label_text+"</h3>")set_markup("<span style=\"color:red\">"+label_text+"</span>") 或使用除 <b> 以外的任何标签时,它不会在标签窗口上返回任何字符串。为什么会发生?是否有一个简单的解决方案,我不必使用任何额外的依赖项?

解决方法

如果您不需要动态更改样式值,推荐的标签(和所有其他小部件)样式的方法是使用 CSS。

在您的应用启动代码中,您可以从 CSS 文件创建应用范围的 Gtk.CssProvider。然后,在构建小部件时,使用 label.get_style_context().add_class() 向标签添加样式类。


标记语言看起来像 HTML,但实际上不是。 Here is a guide to the available tags and attributes。最值得注意的是,这里没有 CSS,文本样式是使用 <span> 元素上的属性添加的。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?