SOLVESPACE -- parametric 2d/3d CAD

(you are viewing a thread; or go back to list of threads)

QT GUI (by James Marine)
Is that possible to change the current GUI to QT-based? It seems the current gui is a bit old-styled. i am wondering whether it is possible and how much efforts will be needed to port the GUI to QT.
Wed Apr 7 2021, 06:05:53
(no subject) (by Paul)
The look is not due to the GUI toolkit. SolveSpace uses native windows and MacOS gui on those platforms and GTK on Linux. It looks mostly the same on all of them.

The GUI toolkit is only used for window creation, menus, and popups. Toolbars and the text window contents are all rendered with OpenGL on all platforms.

The main issues with the gui are lack of localization in the text window, and no ability to resize the text and icons. Changing toolkits won't fix those problems.
Wed Apr 7 2021, 11:02:40
(no subject) (by Jack Lang)
So Qt seems to solve all the problems:
- Only one toolkit to maintain for the 3 differents platorms (windows, linux and macos)
- You keep your 3D window the same
- Use Qt internationalisation tool for localisation
Thu Apr 8 2021, 11:42:20
(no subject) (by Paul)
GTK could also serve as a cross-platform toolkit, and is already one of the implementations. It's also lighter weight.

One of the issues is complicating the build system by adding a big dependency on Windows and MacOS. We don't currently build or ship any GUI toolkit code.

That said, if someone wanted to submit a QT version that solves some of the issues that would worth consideration.
Thu Apr 8 2021, 14:04:27
(no subject) (by Jack Lang)
Can i ask you why GTK is not used across all platform ?

I understand that using Qt is not straightforward, moreover there is a lot of debate as Qt is becoming less and less "friendly" with open source community since Qt6 release.

Have you considered the use of other lightweight toolkit like LmGui ?
I may try to write a prototype if i find some time...
Fri Apr 9 2021, 03:57:31
(no subject) (by Weston)
Fri Apr 9 2021, 10:49:19
(no subject) (by Paul)
GTK 4 would probably be the best choice for cross platform GUI, but that would complicate the build process. We do not currently compile any GUI code as part of the build process on any platform.

Previous maintainer had a lengthy discussion about ImGui here:

I completely agree. People keep suggesting a change of GUI toolkit for misguided reasons. It doesn't solve a real problem and would add complexity.
Fri Apr 9 2021, 10:53:46
(no subject) (by Jack Lang)
I saw those discussions and i totally agree with "Traverseda".

If people keep asking a better GUI like you said, then i don't think it's for misguided reasons, but a real demand

But i can understand it s a lot of work also...
Fri Apr 9 2021, 11:18:27
(no subject) (by Weston)
I've read all the issues related to GUI toolkit changes and it seems to me that many people think that a GUI toolkit change will somehow make the project much easier to contribute to.

This comment and down explains it pretty well:
Fri Apr 9 2021, 11:44:09
(no subject) (by Weston)
Fri Apr 9 2021, 13:03:34
(no subject) (by Paul)
>> it seems to me that many people think that a GUI toolkit change will somehow make the project much easier to contribute to.

I wonder if they think new features are a matter of adding a GUI widget with a little code to call some APIs in the geometry kernel. That would definitely not be correct. It could become more like that, but it's not today.

The text window code is IMHO ugly, but that needs to be improved with or without changing GUI.

I have yet to see anyone say "here is a feature and this is how standard GUI widgets would be used to implement it". One thing that people like about SolveSpace is the direct interaction with the sketch - the lack of widgets.

I would really like suggestions on the proposal for a hole tool or group:
That is a very complex thing to do, and I'd like to get it right. It's also the only time I've thought about doing complex stuff in the GUI like maybe showing a dimensioned profile of a hole - which no toolkit has a widget for BTW.
Fri Apr 9 2021, 13:54:56
(no subject) (by ruevs)
Changing GUI toolkits solves none of the problems that SolveSpace currently has. In my opinion being "old-styled" (whatever that means) is not a problem. This is a CAD tool - not a smartphone chat application.

On the topic of QT (to add more "noise" to the discussion) - just changing to QT will not change the way the GUI looks - read through the issues people already linked to understand.

And here is the issue regarding QT specifically .
Today, 09:38:21
Post a reply to this comment:
Your Name:
Your Email:
(no HTML tags; use plain text, and hit Enter for a line break)
Attached file (if you want, 5 MB max):
© 2008-2020 SolveSpace contributors. Most recent update Oct 30 2020.