What is the future of WxWidgets?

From @F6FVY on Twitter

At the time that KiCad was started (1992), wxWidgets was absolutely the best cross-platform solution. Qt was not licensed for Open Source applications and wouldn’t be for many years. While it does have some issues that we work with / work around, they are largely not our show stoppers.

If we were to write KiCad from scratch using a different toolset, we would have different issues. Some things would be easier and some things would be harder.

Having worked with Qt and having been following KiCad development closely it’s impossible for me to believe that there would be nearly as much problems with Qt than there have been with wxWidgets. WxWidgets is a thin layer above several different platform dependent libraries. It just has way too many problems with platform compatibility. It’s also more like “lowest common denominator”. Qt (or gtk) is a lower level implementation but a fuller API and in reality much more cross-platform.

The amount of work to do the porting is a different matter. In any case it would require better levels of abstraction in KiCad and requires much work to become feasible. It has been explained in different occasions by some of the developers (possibly including Seth) that KiCad is slowly going towards better separation between UI and backend.

KiCad could certainly use better abstraction in some areas, but the much bigger problem with the suggestion to move UI toolkits is simply the amount of work. Improving abstraction will not change the number of UI elements we have to port.

I mention this only because I don’t want people to get the idea that improving abstraction will suddenly make us more likely to want to switch to Qt.

1 Like

Certainly good to mention that. :slight_smile: But at least it would make easier for interested people to get working of it. Maybe parallel with official development. Some people know UI programming well but would abhor touching an unknown backend especially when it’s complicated. I, on the other hand, have never overcome my abhorrence of wxWidgets. :smirk: