Python 如何在Gtk.Grid的单元格周围放置边框,就像在HTML表格中一样?

Python 如何在Gtk.Grid的单元格周围放置边框,就像在HTML表格中一样?,python,python-2.7,gtk,gtk3,msys2,Python,Python 2.7,Gtk,Gtk3,Msys2,我尝试基于Gtk.Grid(单元格之间和表格周围有边框)创建一个类似HTML的表格。由于表格只包含标签,我开始尝试设置标签的样式。我试过这个: label { border: 1px solid black; } 但是它不起作用,尽管在同一个CSS文件中,我能够将窗口的背景色设置为浅蓝色 因此,我将问题简化为以下两个文件 test.py: style.css: 在MSYS2 MinGW 32位中,我尝试了以下两种方法: hope@hope-PC MINGW32 ~/python+gtk

我尝试基于Gtk.Grid(单元格之间和表格周围有边框)创建一个类似HTML的表格。由于表格只包含标签,我开始尝试设置标签的样式。我试过这个:

label {
    border: 1px solid black;
}
但是它不起作用,尽管在同一个CSS文件中,我能够将窗口的背景色设置为浅蓝色

因此,我将问题简化为以下两个文件

test.py:

style.css:

在MSYS2 MinGW 32位中,我尝试了以下两种方法:

hope@hope-PC MINGW32 ~/python+gtk/test
$ winpty python2 test.py
还有这个

hope@hope-PC MINGW32 ~/python+gtk/test
$ python2 test.py
但我不知道如何设置标签的样式,因为上面的代码无法按照我在注释中指定的方式工作。终端中没有打印错误或警告

我已安装此版本的GTK+&Python 2.7:

hope@hope-PC MINGW32 ~/python+gtk/test
$ pacman -Q mingw-w64-i686-gtk3
mingw-w64-i686-gtk3 3.22.16-1
hope@hope-PC MINGW32 ~/python+gtk/test
$ python2 --version
Python 2.7.13
我使用自2017年8月5日起的最新Windows 10 Creators升级,并安装了所有更新。我使用MSYS2,所有升级和更新都是通过终端中的
pacman-Syyu
指令完成的

以下是一些相关链接(3个链接到官方文件,1个链接到另一个SO问题):

  • 这是thaught告诉我在GTK+应用程序中加载CSS文件的说明的问题:

  • 在这些情况下,如何设置标签的样式?或者,至少,请引导我通过其他方式在Gtk.Grid的单元格周围创建边框。

    我阅读了这个SO问题及其唯一的答案:@MichaelKanis在对我的问题的评论中推荐的。现在,我使用
    Frame
    s来包含我的
    Label
    s。Windows 10上Adwaita主题中的
    框架默认有一个小边框,因此网格看起来几乎像一个HTML表

    我的代码的相关部分如下:

    def set_value_at(self, row, col, val):
        l = Gtk.Label(None)
        l.set_markup(val)
    
        f = Gtk.Frame()
        f.add(l)
    
        self.attach(f, col, row, 1, 1)
        return f, l
    
    看看并不是所有的小部件都支持所有的CSS属性。
    hope@hope-PC MINGW32 ~/python+gtk/test
    $ pacman -Q mingw-w64-i686-gtk3
    mingw-w64-i686-gtk3 3.22.16-1
    hope@hope-PC MINGW32 ~/python+gtk/test
    $ python2 --version
    Python 2.7.13
    
    def set_value_at(self, row, col, val):
        l = Gtk.Label(None)
        l.set_markup(val)
    
        f = Gtk.Frame()
        f.add(l)
    
        self.attach(f, col, row, 1, 1)
        return f, l