GUI for Windows

I want to start to work on gui for windows for my rust application. which tool is simpler to work with?
Druid,Iced or gtk?

It depends on how complicated your GUI actually is. If it's simple enough, you can use windows-sys and Controls or Dialogs.

It's unsafe, non-portable, and software rendered... but it also has a11y, a support lifecycle of "probably forever"[1], and negligible size overhead since the actual implementation of the widgets comes with Windows, not your app.

Full disclosure: I've implemented a tray applet this way. It has no real UI. Just a popup menu.


  1. they might stop supporting the windows-sys crate, but they're not going to drop support for the win32 ABI, which is what matters here ↩ī¸Ž

1 Like

If fast, easy to use, small memory footprint, cross-platform, well maintained, appeals to you: fltk-rs.

2 Likes

If you want to use the Win32 API (which is an option if you're only targeting Windows), this crate is excellent:
https://github.com/rodrigocfd/winsafe

You do need to know Win32 programming pretty well to use that crate, though.

2 Likes

One more to consider - egui - it is portable (even claims to run in WASM) and it appears to be relatively easy to use. It is not Windows specific, runs on Windows and Linux (and Mac?)

egui is still in a state of major flux in my (rudimentary!!) experience but it shows promise of something solid in future.

IMHO - "rich" GUI is one of Rust current weak points, in its ecosystem, regardless of the OS.

thank you for u're help. it has good documentation too. but it's weakness is setting the layout with it it's complicated a little and a bit of challenge. but in the end it does the work fortunately.

This topic was automatically closed 90 days after the last reply. We invite you to open a new topic if you have further questions or comments.