0

在网上搜索,我发现将面板的背景颜色管理为窗口的一种方法是创建一个Gtk::EventBox对象并通过方法更改其bg颜色override_background_color

我有一个从Glade文件builder创建的对象。它使用 8x8网格( )绘制一个简单的框架 ( )。Gtk::Window *matchWindowGtk::Grid *Grid

一旦构建器被实例化,我想创建一个Gtk::EventBox通过 C++ 代码并将其添加到Grid。我写的代码如下:

文件Main.h

[...]
private:
    Gtk::EventBox *myEventBox;

文件Main.cpp

Main::Main() {
[...]    
myEventBox = new Gtk::EventBox;
BuildMatchField();
[...]
}

void Main::BuildMatchField() {
    // Set GB color of the EventBox to BLACK
    myEventBox->override_background_color(Gdk::RGBA("#000000"));

    matchWidgets.Grid->attach(*myEventBox,0,0,1,1);

    matchWidgets.Grid->show_all_children();
}

运行程序,没有出现错误,但BuildMatchField()不起作用:没有出现黑色面板。

我按照网格示例进入 Gnome 官方指南

有什么建议吗?

4

0 回答 0