These things you want are not new features, they are tries to do something the hard way. They are all available by dragging widgets to the layout. Designer operates on widgets, not layouts. It exposes properties of widgets, not layouts. The "attributes" you want (meaning row, column, row span, column span of the layout) are (1) not properties, (2) computed by Designer automatically when you place widgets on the form and make laid out groups out of them, you needn't access them directly. If you want to do that yourself, open your favourite xml editor and modify the spans there - the .ui file uses xml notation.
Designer (and Qt at all) operates on abstractions. The concept of layouts is an abstraction too - thanks to them you don't have to worry how your widget will behave when resized, as it will be controlled using some abstract mechanism which you don't have to care about. The row and column number (not speaking of row or column span) is of no interest to you - just place your widgets as you want them and apply a layout. It will adjust to what you have designed.
I realize it's an abstraction ... an abstraction that is intended to be natural to the designer. My understanding is that Qt is trying to treat all things equal (thus no layout managers ... a design decision) ... yet have Qt Designer provide a natural view to the designer.Originally Posted by wysota
It's the abstraction I'm trying to work from. The notion of where a widget lives (logically ... i.e. a quadrant) in a QGridLayout is important and necessary to specify by the designer. Albeit, I freely admit I'm confused about how to specify it (and particular so change it) graphically in some cases.
I agree it could need some more features, especially being able to change the hierarchy in the object inspector via drag'n'drop, emptying containers and "flattening" them. Some more widgets to chose from would be great too since it does take quite some effort to get acquainted enough with it to be able to add custom widgets or even the ones native to Qt which are not available in the designer.
I don't quite understand... You can operate on layouts in Designer, can't you?
It does provide a way. Even two ways. One is placing widgets on the form first and then applying a layout. The other is to modify an existing layout by dragging objects which are part of it.... yet have Qt Designer provide a natural view to the designer.
Place widgets first, layouts later.It's the abstraction I'm trying to work from. The notion of where a widget lives (logically ... i.e. a quadrant) in a QGridLayout is important and necessary to specify by the designer. Albeit, I freely admit I'm confused about how to specify it (and particular so change it) graphically in some cases.
This is something I'd like to see too, but I believe it is very hard to implement it. If you modify the hierarchy, the coordinates of widgets change, the layouts change, it would be hard to place those "pulled out" widgets in appropriate coordinates in their new parent to avoid a mess on the form.
Hmm.. have you tried selecting the contents of a container and pressing "Delete"? Or breaking container's layout and dragging widgets outside of the container?emptying containers
I don't know what you mean by "flattening" a container.and "flattening" them.
I'm sorry, who forbids you from adding more widgets to Designer?Some more widgets to chose from would be great
Are you serious with that? With Qt4 it is really easy - you open a context menu and choose "promote widget" and that's it, the easiest way to add custom widgets.too since it does take quite some effort to get acquainted enough with it to be able to add custom widgets
Which ones are you talking about? They are not there to choose from because of a reason. And if you insist, you can always make a plugin that makes it possible to place them directly on form. For Qt3 you can use wwWidgets to place some of them on the form, but believe me, you won't be able to do anything serious with them without subclassing anyway...or even the ones native to Qt which are not available in the designer.
I think you are misunderstanding me, or not fully reading my post.
Emptying containers automatically, flattening widgets (not the widgets, their hierarchy) and having more native widgets to chose from is what the Qt Designer in itself is all about - adding comfort, and there is no wrong in saying it would be nice and comfortable to have without going through the effort (which I insist is alot for non-expert users) of extending the Qt Designer on your own.
If I said a glass of orange juice would be nice too, would you ask me sorry, but who forbids you to grow an orange tree and squeezing your own juice? I am simply saying it would be comfortable.
Thanks
So enlighten me![]()
What do you mean by "automatically"? Electric impulses start to circulate through your brain and the container contents get deleted? You have to push something, it doesn't matter if it is the delete key on your keyboard or some other special combination.Emptying containers automatically,
I still don't understand what you mean by flattening widgets or their hierarchy... you mean to recursively reparent all widgets from a container to the form itself? Read my previous reply again, it would create a mess on the form, especially with more complex containers.flattening widgets (not the widgets, their hierarchy)
Again, what native widgets? Name three...and having more native widgets to chose from
But who asks you to extend Designer? Most of the features you desire are already there, you just didn't discover them yet.is what the Qt Designer in itself is all about - adding comfort, and there is no wrong in saying it would be nice and comfortable to have without going through the effort (which I insist is alot for non-expert users) of extending the Qt Designer on your own.
No, I would say Designer is not meant to serve orange juice but to design widgets. Just like people start comparing Designer to some IDEs. Designer is not an IDE and is not meant to be one. And even if Designer was serving fuit juice, you'd be lost in the vast number of fruits to choose from while trying to get a simple thing done.If I said a glass of orange juice would be nice too, would you ask me sorry, but who forbids you to grow an orange tree and squeezing your own juice? I am simply saying it would be comfortable.
Besides, I doubt many people would appreciate serving fruit juice by a GUI designer. If you want/need a feature that is missing, you either have to implement it yourself or live without it by achieving the same effect in some other manner.
To be honest, I can't think of a reason to "flatten" hierarchy of a container, you'd still have to drag all the widgets around manually trying to place them on the form and creating a big mess. I don't see how having a button to create chaos on the form is superior to dragging the hierarchy of widgets out of the container using a single mouse movement. And what happens if you want to sustain the lowest hierarchy in a container? "Flattening" the container would force you to find and reinsert all the "lowest level" widgets to respective containers. With the current implementation that won't be a problem, because those low-level widgets would still reside inside their containers.
Too much possibilities to choose from create chaos. It is better to do one thing good then to do everything lousy. Next step you'll be asking for a button labeled "Implement my program for me".
Bookmarks