Forms vs window + QVBoxLayout in Qt creator desktop applications



  • Hello, I'm just starting to use Qt Creator and find two ways to create desktop apps:

    • When I chose to create a new project, desktop app, Qt Creator creates an empty template for a form and it allows me to drag and drop widgets, move and resize them, etc.

    • When I open some built-in examples, I find some of the examples does not have a form itself but instantiate a QWidget and QVBoxLayout and then add all widgets programmatically.

    Which ones of these is better or what are the pros and cons of them?

    At first sight I find the forms with drag and drop functionality more friendly and easy to modify.

    What is your opinion?

    PS: In my case, portability Windows/Linux is important, in case this aspect does matter here.


  • Moderators

    @kweber said in Forms vs window + QVBoxLayout in Qt creator desktop applications:

    Which ones of these is better or what are the pros and cons of them?

    there is no really better / worse comparison.
    If you like to design your GUI with Drag-n-Drop (=forms, =QtDesigner) then go with it. In the end the form definition is also translated to QWidget instances.

    I personally prefer to have "full control" over my code, so i create and compose the QWidgets myself.


  • Lifetime Qt Champion

    Hi
    I do most layouts using Designer and loads mostly data from code.
    But you dont have to choose one way over the other.
    The UI forms is converted to code ( see setupUI() )
    so sometimes i use Designer to create a layout/setup and then use the code from my code as templates.
    The main reason we like using UI files is that it allows the non UX developers to do a bit of GUI sometimes as its less involving to drag a new button to
    a layout than reading heaps of setup code to find right spot.

    But basically, its more a matter of taste than anything technical . But there are things you need to do from code as designer cannot do it.


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.