在网上搜索,我发现将面板的背景颜色管理为窗口的一种方法是创建一个Gtk::EventBox
对象并通过方法更改其bg颜色override_background_color
。
我有一个从Glade文件builder
创建的对象。它使用 8x8网格( )绘制一个简单的框架 ( )。Gtk::Window *matchWindow
Gtk::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 官方指南
有什么建议吗?