Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Rustとgtk-rsで自分用GUIツールを作ろう

Avatar for sunnyone sunnyone
June 20, 2026
48

 Rustとgtk-rsで自分用GUIツールを作ろう

Avatar for sunnyone

sunnyone

June 20, 2026

More Decks by sunnyone

Transcript

  1. Linux desktop GUI ツールの選択肢 Web 系 Web Electron: node とChromium

    をがっちゃんこ Tauri: ネイティブWebView を使う ネイティブ系 Qt (from KDE) gtk (from GNOME) ← 今日はこれ 4
  2. gtk アプリを何で書く? C が第一選択肢 Gob / Vala みたいなそれ用の言語もある LL 系

    (Python, Ruby, etc) もある C++ や C# もある Rust ← 今日はこれ 6
  3. Rust (gtk-rs) のよいところ C / GLib のわずらわしい記述が不要 x = g_nanchara_new();

    g_object_unref(x); ← めんどくさい Rust のライフサイクル(RAII )にGObject のライフサイクルに乗せ てくれてる Drop trait でg_object_unref してくれる的な ほぼC 相当なのでLL より重くない 7
  4. 実際のコード例 pub fn build_window(app: &gtk4::Application) { let window = gtk4::ApplicationWindow::builder()

    .application(app) .title("Command Drop") .default_width(DEFAULT_WINDOW_WIDTH) .default_height(720) .build(); let root = gtk4::Box::new(gtk4::Orientation::Vertical, 8); root.set_hexpand(true); root.set_vexpand(true); window.set_child(Some(&root)); window.present(); } 8