GUI editor for gtk4

Is there any working, production ready gui editor for gtk4? Cambalache is still in very early stage, glade has compatibility issues, any others? I am actually really annoyed that in this day and age developers are expected to work with xml files without proper gui editor or create interfaces using code which gets simply ridiculously unworkable with really advanced and complicated guis.

No there isn’t anything “production ready” as of now, and it would likely take a couple of months for such a project. However there are contributors that have expressed interest in solving this issue once their time schedule permits.

I hear you and understand your frustration, It’s annoying for me as well and a pain point of Newcomers.

Please also remember though that its a volunteer project that’s also severely underfunded. We all would like to have nice things, but there aren’t enough resources sadly.

Thank you for your answer.
For newcomers it is actually a deal breaker and show stopper.

Maybe when you really intend to write your app in plain C. Creating the GUI directly in code is from higher level languages not that difficult. For me using the Glade tool was generally more difficult than creating the GUI elements directly in Ruby or Nim code.

And I think most newcomers will not try to create as first project a tool like Inkscape or Gimp :slight_smile:

But maybe you are right – I recently was told that the kids nowadays like to use the Figma GUI creator, which seems to be a GUI creator that works like a painting program.

1 Like

Surely you will agree with me that it is much, much easier to visualize and reason about GUI by looking at it, for example in glade that to look at xml or code.

Yes of course looking at a GUI with Glade was easy. But I generally failed to create medium size GUI with Glade. I think I tried in 2008 about one year after I started with GTK, and maybe again in 2012. I was not able to find a complete and up to date tutorial for Glade that time, and I failed to create some elements. I think I asked in the gtk mailing list that time, and got at least no really fast response. Later I somehow learned how to get that element with Glade. But I never tried Glade again. For current GTK4 I sometimes use some XML files, e.g. for menu construction. I would not be able to create such a file with glade or with a text editor from scratch, but at least I am able to understand and modify existing XML files. Generally I would like to avoid XML, but I still have to learn how I may do that.

So what are you saying, that having GUI editor is not worth it and preferable way to create GUI should be code and manually editing xml?

I actually work on day to day basis with gtk / glade (rather advanced and complicated GUI’s) and if not for glade I really don’t think anyone could do anything sensible in reasonable time with them.

What I said is that my feeling is that with high level languages creating GUI layout in plain program code for GTK is not that difficult. So most examples in the Nim GTK book currently create the GUI elements in code, and I do the same e.g. in my SDT CAD/EDA tool which is still in a very very early stage. I use a few XML files, but I generally hate XML, I would avoid them, but I still have to learn how I can create GMenu in code without XML.

Tools like Glade may be fine, at least for some people. Maybe I am too stupid, I would need a larger tutorial at least.

Depends on how complicated that gui is and of course, looking at glade file will always be easier and more informative than looking at code/xml and trying to visualize how the gui actually looks like.

Personally I don’t think Glade is needed for that, it makes the task of generating the actual code easier, but I have never found it necessary. If you want to visualize the GUI, any old wireframing software will do. Or you can use the classic method of drawing it on paper, whiteboard, etc.

Can you suggest any (literally any) software that will be able to correctly open edit (in visual manner that is drag and drop) and save .ui file that can be then open in gtk4?
As for:
“Or you can use the classic method of drawing it on paper, whiteboard”- no, in my work I like to use modern tools from 21-th century, and if somebody says that in order to work on GUI with gtk4 I have to use pen and paper I go to Qt.

It’s already been established that the only tool available is Cambalache—though other people are working on other tools. There’s no point in being despondent when you don’t like the answers given to you.

Remember: this is all volunteer effort, and all software is released “as is”. If you want to improve the situation, feel free to contribute to tools like Cambalache and GNOME Builder.

As a side note: the preferred way to deal with complex UI is to break down complex widgets into separate classes, and then use UI templates; this approach has various advantages:

  • it keeps UI files small and tractable
  • it encourages compositing and decoupling of business logic from the UI
  • it speeds up the UI generation, which is generally limited by the amount of objects built at the same time

Unlike GTK, Qt has the advantage of having a centralised commercial support, which funds development. Of course, if you want to steer Qt in a certain direction that benefits you, you better have a lot of money—whereas GTK generally requires contributions, more than funding.

If you find yourself better served by Qt, then by all means: use the tool that best fits your requirements.

Typical answer from old linux lot, in the spirit, if you don’t like it, go.
And I certainly will do that but not in the simplistic way you’ve interpreted it.
My point I was making is that if company I work for will try to migrate to gtk4 and I have to work with pen and paper, then I simply change job to one that uses Qt. And guess what will happen?
a)Gtk will loose one user, that maybe not much but as they say, if you’re doing something, you may be sure that there is already thousand others doing exactly the same,
b) I, unlike as you’ve suggested will NOT spend a penny on QT license because, yes, you’ve guest it correctly, the company that employed me, already purchased that license.
And I won’t be drawing on paper but will be using modern tools. To me win-win scenario.

Yes, and I am aware of that. That still doesn’t change the fact that I’d like to have those templates displayed to me and work with them in modern, drag and drop, visual way, not editing xml…

Well as I mentioned it’s not necessary to do that in order to visually design a GUI. That will help with transferring the visual design to a .ui file but you can also design the GUI and then transfer it to code yourself (maybe it could be a .ui file but as mentioned previously it could be something else).

Actually I find the old methods to still be quite relevant in some situations, such as in a meeting with a lot of people, it’s very convenient to use paper or whiteboard. But if you really wanted you could design a GUI in Qt Creator and then implement it in GTK. It’s really up to you what you want to do.

I don’t think anyone here is telling you what job to get, some companies may prefer Qt and some may prefer GTK, some may prefer Windows or MacOS or iOS, all that is fine for them as it’s their decision.

Same way it is not necessary to have professional IDE to work with software…
You simply either cannot or don’t want to understand that in 21-th century people don’t want to work with pen and paper in order to work with software…

Of course not, ebassi was telling me that if I don’t like the state gtk4 is in I can use other tools, what he didn’t get from my previous post is that I will do it but not the way he thought I would.

No, that’s exactly what I was saying you should do:

Considering how deeply unpleasant your entire interaction has been on this topic, I’m just sorry to send you in the direction of the people working on Qt.

In any case, you have had your answer, so it’s time to close this topic.