如果 Webkit.WebView 是 Gtk.Grid 的子项,为什么它不显示?

Why doesn't a Webkit.WebView display if it's a child of a Gtk.Grid?

the first gjs tutorial 中,它展示了如何创建仅包含 WebKit.WebViewGtk.ApplicationWindow。该页面上给出的示例代码对我来说工作正常。

但是如果我修改该代码以创建 Gtk.Grid 并将 WebView 放入其中,它会显示空白而不是显示 HTML。

此代码:

 _buildUI() {

    this._window = new Gtk.ApplicationWindow  ({
            application: this.application,
            title: "example",
            window_position: Gtk.WindowPosition.CENTER });

    this._label = new Gtk.Label({label:"This is a label"});

    this._page = new Webkit.WebView ();
    this._page.load_uri (GLib.filename_to_uri (GLib.get_current_dir() +
            "/something.html", null));

    this._grid = new Gtk.Grid();
    this._grid.attach(this._label, 0, 0, 1, 1);
    this._grid.attach(this._page,  0, 1, 1, 1);

    this._window.add (this._grid);

    this._window.show_all();
 }

给出仅包含标签的 window,this._page 占用零 space。相反,如果我将 this._page 设置为新的 Gtk.Label,我会看到两个元素。

strace 显示程序 正在 加载 HTML.

我错过了什么?

WebView的首选和自然宽高都是0像素,没有设置水平或垂直展开,所以没有分配任何space。

尝试:

        this._page.set_hexpand(true);
        this._page.set_vexpand(true);