Spent the last 6 hours trying to get a hello world equivalent gui window with a button on rust under windows.
This task which one might think is simple ended up taking literal hours and still hasn't been achieved because: the tutorials for gtk on windows and rust suggest putting msys2 bin directory on the path. This causes rust to fail to build correctly because it uses the wrong gcc and linkers.
Afterwards I managed it by using the appropriate environment variables.
But then I found out the dynamically linked libarries weren't found. I tried getting a way to copy them but it turned out to be too much work so I just moved the executable to the same dir.
Only to find out that gtk4 has no accessibility on Windows. Not bad accessibility, not accessibility that needs to be turned on. No. Accessibility. At all.
So then I decided to try Qt, which wants me to create an account to get an installer. Absolute no.
Got the 1.5gb sources and trying now to get an off-line installer out of it.
To get a fucking window with a button in it.
I don't think it's unreasonable for me to say this state of affairs is complete bullshit, and that most people with a normal level of motivation would have found plenty of opportunities to have given up. I still might.
(Not using NWG because tying the data to the GUI elements is non-trivial, it seems to require copying a lot and using twice the memory.)
Peter Vágner reshared this.
dana
in reply to modulux • • •something you might consider: github.com/iced-rs/iced
I haven’t used it just seen ppl talk about it more than gtk or qt lately.
GitHub - iced-rs/iced: A cross-platform GUI library for Rust, inspired by Elm
GitHubmodulux
in reply to dana • • •modulux
in reply to modulux • • •Now I'm having to build Qt to avoid getting an account to get an installer.
It won't build with the CMake version that comes with my VS 19, which I only have for the sake of getting access to the rust msvc toolchain.
I think tomorrow I might just push a rock up a mountain instead.
modulux
in reply to modulux • • •Spoilers: that didn't work either.
After about 10 minutes of config, cmake --build . gives eme an error because ninja can't do multiple outputs.
Apparently in order to get a window with a button, that runs accessibly on windows, from rust, I must first create the universe.
I give up.
modulux
in reply to modulux • • •Lukáš Tyrychtr
in reply to modulux • • •modulux
in reply to Lukáš Tyrychtr • • •Lukáš Tyrychtr
in reply to modulux • • •James Scholes
in reply to modulux • • •modulux
in reply to James Scholes • • •Juan CBS
in reply to modulux • • •modulux
in reply to Juan CBS • • •Mikołaj Hołysz
in reply to modulux • • •modulux
in reply to Mikołaj Hołysz • • •To be fair, if I didn't insist on using rust I could have been done hours ago, with python and wx widgets or py-qt or whatever.
But yes, these build systems are getting really complex.
Mikołaj Hołysz
in reply to modulux • • •modulux
in reply to Mikołaj Hołysz • • •Mikołaj Hołysz
in reply to modulux • • •I think it's just QT, not necessarily PyQT.
Though things have significantly improved on that front recently, see e.g. TeamTalk, so this might no longer be that relevant.
modulux
in reply to Mikołaj Hołysz • • •Mikołaj Hołysz
in reply to modulux • • •it's not just about how things look visually, even if you're using VO, you get yes/no buttons instead of something like "keep"/"delete", very Windows-like shortcuts etc.
You can probably fix this if you go the extra mile, though.
Mikołaj Hołysz
in reply to Mikołaj Hołysz • • •modulux
in reply to Mikołaj Hołysz • • •Katzenmann
in reply to modulux • • •modulux
in reply to Katzenmann • • •Seg
in reply to modulux • • •modulux
in reply to Seg • • •Lukáš Tyrychtr
in reply to modulux • • •Peter Vágner
in reply to Lukáš Tyrychtr • •Still it's a shame #a11y work by @Matt Campbell is not continuing the way it has been envisioned from the start.
modulux
in reply to Lukáš Tyrychtr • • •