Just for pure curiosity.
Who is using the designer. Why? Why not? Always?
Printable View
Just for pure curiosity.
Who is using the designer. Why? Why not? Always?
Similar polls from the past, just for reference:
http://www.qtcentre.org/forum/f-qt-p...hand-3099.html
http://www.qtcentre.org/forum/f-qt-p...hand-5936.html
and, yes, I do use Qt Designer all the time.
Hmm, a third might be a bit much. Perhaps this thread should be deleted.
Depends probably on the exact wording of the poll questions. But it is strange.
I use the Designer. I avoided it in Qt3, but changed my mind in Qt4. The Qt3 Designer created widgets, which meant I was always subclassing an autogenerated class. But with the new UI form classes this is not a problem. I can treat the UI as a true object, and use it the way I want to use it. I typically use the UI as a private data member, but sometimes use multiple inheritance instead. The second problem with Qt3 was that it generated "messy" code (imho). But Qt4 Designer generates very clean sensible code.
I did have one GUI a couple of months ago that was too complicated for Designer. I needed to use a couple of custom layout managers in it, and some "hand tweaking", to make lay it out correctly. But that's the exception.
I don't put everything in a single UI file, though. I tend to split it up. The main window, menus and toolbars will be one UI file, and the central widget antoher UI file. If I have a tabbed widget, then every page will be a separate UI file. Etc.
Designer has proven to be a huge timesaver.
I always use the designer to design my GUI's, but only the layout.... for functionality i use the subclassing method with Visual Studio 6 as IDE.
Depends, In some cases, I do them within the program, usually this is in the case where the elements in the dialog my change dynamically. Otherwise, the designer is my friend.
I use designer when it's convenient. Some things, like toolbars and such, must be done programmatically (designer has no such functionality in v4), but I don't complain too much there - it's a simple matter. Other things, like truly dynamic menuing systems, obviously cannot be done through designer due to their dynamic nature (for example, a list of pushbuttons that gets populated based on what plugins the user has loaded).
Some things are possible to do in designer, but are very awkward. For example, creating a widget to insert into a bunch of other widgets (re-using functionality). Designer provides this functionality, but you must manually edit the .ui file to properly include it. Much easier to just design the thing via code, though you can of course design the shared portion using designer rather easily.
Of course, most simple widgets and dialogs benefit greatly from designer - being able to see exactly how everything gets placed, how certain modifications look in real-time, etc - it's a valuable resource.
I use Designer if Designer can do what I want. But I find it extremely limited.
If I want a combobox in a toolbar, for example, I'm out of luck. Or if I want to assign a QIcon with different states to an action, instead of a single image. Or if I want to lay-out the status-bar. Or if I want to set my own central widget.
The code would be a lot cleaner if you could do more in Designer.
True, but this is quite easily implementable, so it's highly probable we'll have access to QWidgetAction objects from Designer.
I think this one is possible to do with current Designer, but I'd have to check how it assigns icons to widgets.Quote:
Or if I want to assign a QIcon with different states to an action, instead of a single image.
True, but this is easily doable by combining two Designer generated widgets and not more than five lines of code.Quote:
Or if I want to lay-out the status-bar.
Hmm... This one you certainly can do within Designer, especially with the help of custom widgets.Quote:
Or if I want to set my own central widget.
True, but it'd start to get difficult to use the tool.Quote:
The code would be a lot cleaner if you could do more in Designer.
Looks to me like you can only select one file or one resource.
Hm.. Could you explain this? Right now I do it with only 4 lines of code, without using designer.Quote:
True, but this is easily doable by combining two Designer generated widgets and not more than five lines of code.
In Designer, the central widget is a QWidget, which is the parent of my real main widget. This is all in Designer, but it's a bit of a waste to have a QWidget that doesn't really do anything.Quote:
Hmm... This one you certainly can do within Designer, especially with the help of custom widgets.
Or I can use the setCentralWidget() function in the code. This costs extra lines of code to create the widget, set its properties and make it the central widget.
True, but I don't think we're at that point yet. Right now, many more features could be added without sacrificing simplicity.Quote:
True, but it'd start to get difficult to use the tool.
There are other ways to assign pixmaps.
You can certainly implement your statusBar widget in Designer and then just assign it to the status bar using code. There is also a high chance you could use QStatusBar as the base for your form in Designer and then just replace the default bar with yours with a single line of code. If not, then it's just a matter of subclassing QStatusBar to introduce proper functionality.Quote:
Hm.. Could you explain this? Right now I do it with only 4 lines of code, without using designer.
That's not much of a waste, isn't it? I'm sure you can spare extra 100 bytes of memory. It's just a pitty you can't promote the default central widget to the proper widget. But maybe that's a suggestion for Trolltech to do it. Should take them not more than 15 minutes to do that.Quote:
In Designer, the central widget is a QWidget, which is the parent of my real main widget. This is all in Designer, but it's a bit of a waste to have a QWidget that doesn't really do anything.
I'm sure there are features in Designer which you have not discovered yet :)Quote:
True, but I don't think we're at that point yet. Right now, many more features could be added without sacrificing simplicity.
Edit: I just checked and confirmed it's possible to assign whatever icons you want from within Designer.
Too much trouble. Right now, I only have two QLabels inside the statusbar. And I only require 4 lines of code (6 if you include the member var declarations) to put them there. I simply think you should be able to drag them (and maybe progressbars, etc.) to the statusbar in Designer.
You're right, it's not much of a waste. And I'll sacrifice those 100 bytes to be able to do as much as possible in Designer. I simply think that you should be able to remove any unnecessary layers of code. As you say, it's probably not hard to implement this one.Quote:
That's not much of a waste, isn't it? I'm sure you can spare extra 100 bytes of memory. It's just a pitty you can't promote the default central widget to the proper widget. But maybe that's a suggestion for Trolltech to do it. Should take them not more than 15 minutes to do that.
I don't think so. Don't misunderstand. I love Designer. It's clean, easy to use and elegant. But there are improvements to be made. You can't take full advantage of the features of Qt 4 in Designer.Quote:
I'm sure there are features in Designer which you have not discovered yet :)
Well, don't keep it to yourself. :) How do I assign a QIcon (with different sizes + enabled/disabled states) to a QAction from within Designer?Quote:
Edit: I just checked and confirmed it's possible to assign whatever icons you want from within Designer.
You use the "pixmap function" feature of Designer.
BTW. I don't say Designer is perfect. See the posts about UIC and container plugins on my blog.
I use Designer for QMainWindow and QDialogs. I find it handy to get the layout right, especially when I want to stretch "correctly", whatever that is depending on the dialog. It helps to connect simple signals/slots such as pressing enter in a text edit box to activate the Apply button. It makes it very easy to write code with the automatic slot naming, such as on_QSpinBox_valueChanged(int ID).
The times I write code are when the contents change.. such as a joystick dialog where it loads sliders for each available axis, and buttons for each available button. A library handles most of the work and gives me counts for each.
I use the designer for the basic implementation - for positioning the elements on the window - of the GUI. Than i code in txt editor (vim).
:p I often use the designer when i work in !
You probably don't need it - it is a function you can write to generate pixmaps according to a name. You can substitute the default pixmap generation process (based on a filepath) with it.
You wouldn't see the result in (current) Designer. If icons are your only problem, you can write a simple routine that would set the icons in code and layout the gui in Designer.Quote:
I've been writing most of my interface code by hand since I need to assign icons containing multiple pixmap sizes to QActions , but if it was possible to do in designer I would switch.
I created widget using designer and connection using manually.......
Always the designer.
I also avoid using "clever code" which will give trouble to those that are going to be supporting my aps after June of next year. Writing "inspired" code which you can't figure out when you are not so "inspired" is foolish. The maintainers will hate you for it.
Thank you for this discussion. Because of this I have finally took the time to learn using the forms, excelent.
At the possible I use designer. But if I would know :o, I would use a text editor.
I started with Qt4, and i started with the designer. I always had problems with the designer-generated UIs, i could not handle them. So i mainly use it now to visualize what i want to do and then hardcode it. One problem with generated widgets i had was that they never adjusted their size to the widget or mainwindow that contained them.
Not often, I use the designer when my gui design is very complex because it makes the gui very easily...........otherwise I prefer coding to design gui..................:cool:
Newbie that I am, I generally use the Designer.
But occasionally when I am trying to add new items, it is a real pain to have to break all the layouts, or have Designer turn your dialog into a tangled mess.
In those cases I usually manually insert items into the *.ui file, using an XML editor.
i use designer almost everytime, but in my app i use designer in one form but in the other not..
and there is 1 proj that i cant use designer cause everything is dynamic..
in my kind of job where everything has deadline or timelimit or what ever you want to call that.. designer is very helpful..
I have always used designer to design the desired UI.. I really don't get the point why one should hardcode GUI.. In Qt 4, the stylesheets, promoting widgets etc gives you the power to achieve what you want with designer..
(OR)
I haven't come across the reqiurement wherby I need to do hardcoding GUI..
I don't bother with signals/slots in them. Because the designer creates ugly naming of the slots. etc. But I use it everything else, but depending on what I need it for.
I mostly used the designer with KDevelop3. I'm still not exactly sure what is the right way to use it (or, the preferred way) I've been creating Qt apps with KDevelop, as well as with Eclipse. As I understand it, the first encourages subclassing, the latter encourages using the UI as a member. Now I'd like to know what most of the users of Qt prefer....
I use the designer for simple dialogs only.
The feature I would really need is being able to put a _subclassed_ widget onto the form. If there is already such a functionality, I don't know how to use it... What I can do is to use the Qt provided widgets only, but usually I'd like to work with eg. MyTabWidget instead of QTabWidget. I'd welcome Visual Studio's convenient solution in the designer for this issue.
Yes, it's possible. See Promoting Widgets for more details.
I mostly use Designer for prototypes while I do the rest by hand.
I don't use QT Designer ever.
I guess I'm just old school and prefer controlling everything in my own code.
I also find QTs syntax for building layouts very intuitive so it's easy for me.
Karl
%80 manually which is the best :)
Honestly, dealing with layouts in qDesigner is bad and waste of time. If they add an anchors property for each visual control, it should become more easy, more comfortable and faster way to develop GUIs.
Honestly, NO! And it seems this is not only my opinion. Have a look at the other thread you started. Qt has one of the most advanced, flexible, easy to use layout systems I've ever seen. Sorry to say that, but anchors suck. You cannot design a good user interface with anchors :eek:
Qt's layouts are very simple. And that's what makes them very powerful. Just have a serious look at them, and I'm sure you will find out how you can achieve whatever you want it to be. With anchors, you just cannot...
Damn, in my opinion even Java's layouts are superiour to the anchor approach. And I really scorn most of Java's built-in layouts...
Basically it's a kind of layout where you tell widgets how to align with respect to the window they are in, or other controls in said window. Have a look at Up this topic if you wanna QDesigner with an Anchors property!, anchors are described there.
(By the way, is there an easy way to link to other threads in this forum, other than copying their URL? Or a way to link to specific posts in a thread?)
Oh gawd. Not those "anchors" like in C# WinForms. I hate those. Such a freaking pain to work with.
I totally agree. I guess whoever prefers anchors to Qt's layout system just doesn't understand how layouts work. Or has never designed anything even remotely complex. I have never seen anything that is easier to use or more powerful than Qt's layouts. It just rocks ;)
I remember always thinking absolute positioning was the way to go. When I first tried a different library like Gtkmm back then. I laughed at the layouts and I hated them. Now I love them :O
Just seen this post... Yes, you can use the [thread] or [post] bbcode tags as documented here: BBCode help
Thanks. That should make it easier to point others to the right answers :)
Designer makes life easier :D
I use the designer exclusively because I usually don't need more than functionality that's offered in Qt libraries and because I don't want to spend a lot of time time on the interface.
I think programming GUIs is boring and a huge unproductive time-sink. The Designer saves me an enormous amount of time. Usually I just want to get the main functionality done, and wrapped up in a usable GUI. If I can't build the GUI using standard elements in the designer, I won't take the time to do it.
Besides which ... I haven't taken the time to learn many of all those Qt gui-oriented Qt classes, and if I can use the Designer to get what I want, I'm certainly in no rush to do so. ;)
All the time !!
I have to say this is the best IDE I've used...period.
I've paid thousands of dollars for IDE's in the past and this one kills them all...and it's FREE ???
Must of the times I like to layout widgets by my self, in small projects like the ones I work in there is no really necessity for the designer.