Live data from Hacker News

LeanQt – GUI is here, Widgets are near

github.com

21–30 of 55 posts

Re: LeanQt – GUI is here, Widgets are near

#21
post #13

Earlier quoted context omitted.

I wonder how long it takes to compile on an RPi. I tried it once with the full Qt build and gave up :) Of course, I should have cross-compiled but I guess I didn't want it enough.

Compiling qt on the pi is an overnight sort of thing. I think it took 12+ hours when I did it on a pi4. Thankfully, once it's compiled, you don't have to compile again until you next version bump.

Why compiling on the pi, instead of cross compiling?

Re: LeanQt – GUI is here, Widgets are near

#22

Earlier quoted context omitted.

Compiling qt on the pi is an overnight sort of thing. I think it took 12+ hours when I did it on a pi4. Thankfully, once it's compiled, you don't have to compile again until you next version bump.

Why compiling on the pi, instead of cross compiling?

Compiling Qt with the right switches is hard enough, before you throw in cross compiling on top. Since you only need to compile a new Qt release once every few months, why optimize the process? Just kick it off and go to sleep. I don't modify core Qt libraries ever. If I was iterating on Qt itself, I would definitely figure out cross compiling. Anyways if you come up with such a working cross-compile recipe, you should post it some place.

Re: LeanQt – GUI is here, Widgets are near

#23

Are there tools to evaluate (imperfectly) the percent of a binary that actually gets used? Like, run an application, run the watcher tool, then “walk the application” as best as possible and get an output: “35% of the binary was never read.” ? What’s on my mind is evaluating the actual result of tools and methods for not including unnecessary things. I struggle with this in web land. Tree shaking and such does a wond…

No, because you can't prove every piece of functionality has been executed.

Re: LeanQt – GUI is here, Widgets are near

#24
post #13
post #2

Looks useful! > LeanQt is a stripped-down Qt version which includes the essential features and is easy to build from source and to integrate with an application.

I wonder how long it takes to compile on an RPi. I tried it once with the full Qt build and gave up :) Of course, I should have cross-compiled but I guess I didn't want it enough.

To be fair, I don't think I've ever gotten cross-compiling to work, beyond a "Hello World".

Especially since many ARM platforms are stuck on old libcs that are difficult to support.

Re: LeanQt – GUI is here, Widgets are near

#25
post #23

Are there tools to evaluate (imperfectly) the percent of a binary that actually gets used? Like, run an application, run the watcher tool, then “walk the application” as best as possible and get an output: “35% of the binary was never read.” ? What’s on my mind is evaluating the actual result of tools and methods for not including unnecessary things. I struggle with this in web land. Tree shaking and such does a wond…

No, because you can't prove every piece of functionality has been executed.

True. What’s what I meant by (imperfectly). But perfect can’t be the enemy of good. There’s tremendous value in the data. You wouldn’t use it to just omit those bits. But it tells you a lot.

Re: LeanQt – GUI is here, Widgets are near

#26
post #3

With the new gui, image and thirdparty modules, the uncompressed size of the source tree has grown to ~43 MB (10 MB zip compressed), with close to 3000 C/C++ files and more than 700 kSLOC. LeanQt is designed to build only the modules you actually need. ..The resulting source tree has less than 800 files and requires only ~11 MB (2.6 MB zip compressed), and perfectly works as a substitute of the full source tree in th…

> Not Alan Key 10kSLOC for the entire universe good. if this was enough that's what we'd use though, no ? While I like this project, I don't use half of the features it mentions in the supported features, and I use half of the features with no support planned so it's not an option for me ; i'd wager anyone not making todo apps has different set of requirements which leads to something like Qt which comes with everyth…

See, I’d rather use Qt for the UI, rusqlite for data access, and Lua, Rhai, or an embedded JS engine for scripting.

Re: LeanQt – GUI is here, Widgets are near

#27

Are there tools to evaluate (imperfectly) the percent of a binary that actually gets used? Like, run an application, run the watcher tool, then “walk the application” as best as possible and get an output: “35% of the binary was never read.” ? What’s on my mind is evaluating the actual result of tools and methods for not including unnecessary things. I struggle with this in web land. Tree shaking and such does a wond…

Run time "code coverage" would give you that.

Re: LeanQt – GUI is here, Widgets are near

#28
post #3

With the new gui, image and thirdparty modules, the uncompressed size of the source tree has grown to ~43 MB (10 MB zip compressed), with close to 3000 C/C++ files and more than 700 kSLOC. LeanQt is designed to build only the modules you actually need. ..The resulting source tree has less than 800 files and requires only ~11 MB (2.6 MB zip compressed), and perfectly works as a substitute of the full source tree in th…

> I have searched high and low for something better, here is one rabbit hole: https://www.areweguiyet.com

I'm very interested in the KDAB/cxx-qt path from that page: https://github.com/KDAB/cxx-qt

Once they get Arm & Android coverage, that'll be my go-to solution. Rust for all business logic and remote synchronization. Qt/QML for display with accessors into the Rust model.

Re: LeanQt – GUI is here, Widgets are near

#29
post #17
post #3

With the new gui, image and thirdparty modules, the uncompressed size of the source tree has grown to ~43 MB (10 MB zip compressed), with close to 3000 C/C++ files and more than 700 kSLOC. LeanQt is designed to build only the modules you actually need. ..The resulting source tree has less than 800 files and requires only ~11 MB (2.6 MB zip compressed), and perfectly works as a substitute of the full source tree in th…

> 10kSLOC for the entire universe It is the nature of idealists that they see the world idealized. Smalltalk-80 itself has nearly 30 kSLOC (the low-level code for the VM adds another 5 to 10 kSLOC); it's just more difficult to count, but I wrote tools which can do it ( https://github.com/rochus-keller/Smalltalk/ ).

Not at all being idealistic, this is a hard problem.

But if we're really going to compare stuff.. Systemd alone is over 1 million lines. Probably X/Wayland as well. And the not-slim QT is probably going to end up over 1 million lines soon enough. There is a reason why this slim version exists.

That's at least two orders of magnitude difference in complexity. Maybe there's no getting around it but one has got to wonder whether things went horribly wrong somewhere.

Re: LeanQt – GUI is here, Widgets are near

#30

Earlier quoted context omitted.

Why compiling on the pi, instead of cross compiling?

Compiling Qt with the right switches is hard enough, before you throw in cross compiling on top. Since you only need to compile a new Qt release once every few months, why optimize the process? Just kick it off and go to sleep. I don't modify core Qt libraries ever. If I was iterating on Qt itself, I would definitely figure out cross compiling. Anyways if you come up with such a working cross-compile recipe, you shou…

Qt cross compiles fine with Scratchbox2.

I think people working on cross compilation are wasting their time. They are trying to fix it "properly", separating build time dependency and run time dependency, because host system can't run cross compiled target binary. The obvious solution (what Scratchbox2 does) is for host system to run cross compiled target binary, instead of trying to "fix" the build system.

Post reply on HN