34 个版本

0.4.2 2024年2月5日
0.3.1 2024年1月7日
0.3.0 2023年3月31日
0.2.16 2022年9月15日
0.1.12 2021年7月16日

#821 in GUI

每月45次下载

MIT 许可证

190KB
261 代码行

fltk-webview

这为嵌入式 fltk 窗口提供了 webview 功能。

用法

将 fltk-webview 添加到你的 fltk 应用程序的 Cargo.toml 文件中

[dependencies]
fltk = "1"
fltk-webview = "0.4"

然后你可以使用 fltk_webview::Webview::create 嵌入一个 webview

use fltk::{app, prelude::*, window};
use fltk_webview::*;

fn main() {
    let app = app::App::default();
    let mut win = window::Window::default()
        .with_size(800, 600)
        .with_label("Webview");
    let mut wv_win = window::Window::default()
        .with_size(790, 590)
        .center_of_parent();
    win.end();
    win.make_resizable(true);
    win.show();

    let mut wv = Webview::create(false, &mut wv_win);
    wv.navigate("https://google.com");
    
    app.run().unwrap();
}

依赖项

  • fltk-rs 的依赖项,可以在 这里 找到。
  • 在 Windows 上:没有其他依赖项。
  • 在 MacOS 上:没有其他依赖项。
  • 在 X11/wayland 平台上,webkit2gtk
    • 基于 Debian 的发行版: sudo apt-get install libwebkit2gtk-4.1-dev.
    • 基于 RHEL 的发行版: sudo dnf install webkit2gtk3-devel.

已知问题

Linux 上的情况相当糟糕。这取决于你是否运行 X11 或 wayland。在 wayland 上,这将使用 xwayland。在 X11 上,我无法在 Gnome 的 mutter 窗口管理器上嵌入,它会争夺 webview 窗口的控制权,导致闪烁或空白屏幕!D=x11 环境变量以使 webkit2gtk 正确工作。

alt_test

alt_test

依赖项

~45MB
~306K SLoC