You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用GTK4开发Rust GUI应用时出现黑屏空白窗口问题求助

使用GTK4开发Rust GUI应用时出现黑屏空白窗口问题求助

大家好,我现在用Rust结合GTK4开发GUI应用,跑测试示例代码的时候遇到了奇怪的问题——窗口能正常打开,点击关闭按钮可以退出程序,点击按钮也能在控制台看到Clicked!的输出,但整个窗口是空白的,完全看不到按钮和任何界面内容,就好像控件根本没被渲染出来一样。

以下是我的代码、环境信息,麻烦帮忙看看哪里出问题了:

示例代码

use gtk4 as gtk;
use gtk::prelude::*;
use gtk::{glib, Application, ApplicationWindow, Button};

const APP_ID: &str = "org.gtk_rs.HelloWorld3";

fn main() -> glib::ExitCode {
    // 创建应用实例
    let app = Application::builder().application_id(APP_ID).build();

    // 绑定activate信号,触发UI构建
    app.connect_activate(build_ui);

    // 运行应用
    app.run()
}

fn build_ui(app: &Application) {
    // 创建带边距和标签的按钮
    let button = Button::builder()
        .label("Press me!")
        .margin_top(12)
        .margin_bottom(12)
        .margin_start(12)
        .margin_end(12)
        .build();

    // 绑定按钮点击信号
    button.connect_clicked(|button| {
        // 点击后修改按钮标签
        button.set_label("Hello World!");
        println!("Clicked!");
    });

    // 创建应用窗口并挂载按钮
    let window = ApplicationWindow::builder()
        .application(app)
        .title("My GTK App")
        .child(&button)
        .build();

    // 显示窗口
    window.present();
}

环境信息

  • Rust版本:
    rustc 1.88.0 (6b00bc388 2025-06-23)
    binary: rustc
    commit-hash: 6b00bc3880198600130e1cf62b8f8a93494488cc
    commit-date: 2025-06-23
    host: x86_64-pc-windows-gnu
    release: 1.88.0
    LLVM version: 20.1.5
    
  • Cargo.toml依赖配置:
    gtk4 = { version = "0.9.7", features = ["v4_18"] }
    
  • GTK构建版本:gvsbuild v2025.6.0

我试过重新构建依赖、重启项目,甚至换了个简单的仅显示窗口的测试代码,结果还是空白。明明逻辑上按钮已经被添加到窗口作为子控件了,为什么完全看不到呢?有没有人遇到过类似的问题,或者能帮我排查下原因?

内容来源于stack exchange

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.07 10:49:32