[Solved: Not possible] [Question] QTabWidget: How can i add more than 1 Widget / Item to a Tab ?
-
Good morning.
Currently i have the QTabWidget set as follows:
@
tabWidgetMainWindow = new QTabWidget(this);
tabWidgetMainWindow->setMinimumSize(1024,768);
tabWidgetMainWindow->addTab(LinkListe, "Linkliste");
tabWidgetMainWindow->addTab(textEditor, "Editor");
tabWidgetMainWindow->addTab(BrowserModule, "Browser");
tabWidgetMainWindow->addTab(OpenAntrag, "OpenAntrag");
tabWidgetMainWindow->show();
@In Addition: I have declared a QLabel and a QLineEdit (as the Adressbar) for the BrowserModule. But how can i put these both things in the same Tab as the BrowserModule?
I have already tested the thing with Layouts:
Layout 1 for the Mainstuff.
Layout 2 which only contains the QLabel and the QLineEdit.The Problem is: When i add Layout 2 to Layout 1, the Space between the QLabel+QLineEdit and the BrowserModule is huge (a few centimeter). If someone has a Tip how to get that Stuff centered it would be great.
Is there a third way or do i need to go with Layouts at all? And which Layout would be advisable? Could QGridLayout be a Solution?
I know for a Beginner it would be easier to go over the Designer: But: There is no way to learn as the Code used in the Designer is not shown in the SourceCode Files and vice versa. #MissedFeature!!
Thanks
Oliver -
You can only use one widget for each tab. But you can use a simple "QWidget":http://qt-project.org/doc/qt-5/qwidget.html as a container for any number of other widgets.
The same goes for layouts: You can have layouts within layouts. E.g. add your QLabel and QLineEdit to a "QHBoxLayout":http://qt-project.org/doc/qt-5/qhboxlayout.html (within which they are the only widgets, so there should not be a huge gap) and then add that layout to the layout that forms your tabs page.
In most cases, "QGridLayout":http://qt-project.org/doc/qt-5/qgridlayout.html is the best one to use. Some of the others are too simple for complex widgets (QHBoxLayout, "QVBoxLayout":http://qt-project.org/doc/qt-5/qvboxlayout.html ) and some, while very useful, are made for very special purposes ("QFormLayout":http://qt-project.org/doc/qt-5/qformlayout.html , use it wherever possible, since it is extremely handy).
About the Designer: I was in your position a couple of years ago. I have done a lot with Qt by now, but I never managed to get into the Designer after that kind of start. By now it is somewhat late, since writing things by hand is not too time-consuming, but getting to know the Designers ins and outs would be a challenge.
I would recommend starting with the Designer as soon as possible, otherwise you create kind of an entry barrier for yourself.
Also, there is Qt Quick, of which I know far too little. But it seems like a very good choice for creating user interfaces. -
[quote author="thEClaw" date="1394444250"]You can only use one widget for each tab. But you can use a simple "QWidget":http://qt-project.org/doc/qt-5/qwidget.html as a container for any number of other widgets.
The same goes for layouts: You can have layouts within layouts. E.g. add your QLabel and QLineEdit to a "QHBoxLayout":http://qt-project.org/doc/qt-5/qhboxlayout.html (within which they are the only widgets, so there should not be a huge gap) and then add that layout to the layout that forms your tabs page.
In most cases, "QGridLayout":http://qt-project.org/doc/qt-5/qgridlayout.html is the best one to use. Some of the others are too simple for complex widgets (QHBoxLayout, "QVBoxLayout":http://qt-project.org/doc/qt-5/qvboxlayout.html ) and some, while very useful, are made for very special purposes ("QFormLayout":http://qt-project.org/doc/qt-5/qformlayout.html , use it wherever possible, since it is extremely handy).
About the Designer: I was in your position a couple of years ago. I have done a lot with Qt by now, but I never managed to get into the Designer after that kind of start. By now it is somewhat late, since writing things by hand is not too time-consuming, but getting to know the Designers ins and outs would be a challenge.
I would recommend starting with the Designer as soon as possible, otherwise you create kind of an entry barrier for yourself.
Also, there is Qt Quick, of which I know far too little. But it seems like a very good choice for creating user interfaces.[/quote]1.) Well then my feeling was right about that. I have already played around a little by creating a Widget -> put the Stuff and different Layouts in to it. But it does not had the "Effects" i wanted - for now. I will definitely dig deeper into this.
2.) Putting QLabel+QLineEdit in one VBoxLayout and adding it to the MainWindow Layout (HBoxLayout): Thats what i did with "Layout 1" and "Layout 2" - Not really what i wanted.
3.) I will take a deeper look what is possible (for a Beginner) with QGridLayout.
4.) The First things (not Apps only Tutorials) i created, were done within the Designer. But as long there is NO Way to see how the Code in the Designer looks in the SourceCode Files and vice versa, i will always prefer doing this in Code. Not really helpful if i never learn what i have to write / code :)
BTW: I first created the above Stuff in the Designer and after that, i decided to create everything in the SourceCode Files.
I simply prefer to have total control over the Stuff i do. I really wish they would add this Feature in the very near Future.
But yes, i will create Stuff first in the Designer just to see / learn what is possible. After that: I will do the Stuff i tried / created in Code. For me and my schizophrenic Brain, the best way to go for now.
Thanks and have a good Day :)
Oliver