gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-12-03 16:37:10 24 4
gpt4 key购买 nike

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();
}

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

strace 显示程序正在加载 HTML。

我错过了什么?

最佳答案

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

尝试:

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

关于javascript - 如果 Webkit.WebView 是 Gtk.Grid 的子项,为什么它不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59922983/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com