QTabWidget erzeugt nur einen Tab
Verfasst: 31. Mai 2011 00:36
Hallo,
egal, wie oft ich addTab() mit dem gleichen Widget als Parameter ausführe, wird trotzdem nur ein einziger Tab geöffnet. Ich habe dafür mal den relevanten Teil herauskopiert und in eine main-Datei gepackt, sodass es zum Testen sofort kompiliert und ausgeführt werden kann.
main.cpp
Ist erstmal ziemlich viel, hauptsächlich durch den Designer erzeugter Code.
Wie kann ich den hier designten Tab mehrmals öffnen?
MfG,
Basti
egal, wie oft ich addTab() mit dem gleichen Widget als Parameter ausführe, wird trotzdem nur ein einziger Tab geöffnet. Ich habe dafür mal den relevanten Teil herauskopiert und in eine main-Datei gepackt, sodass es zum Testen sofort kompiliert und ausgeführt werden kann.
main.cpp
Code: Alles auswählen
#include <QtGui>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
///////////////////////////////////////////////
//Welcome Tab start
///////////////////////////////////////////////
QTabWidget *tabWidget = new QTabWidget();
tabWidget->setObjectName(QString::fromUtf8("tabWidget"));
tabWidget->setDocumentMode(true);
tabWidget->setTabsClosable(true);
tabWidget->setMovable(true);
QWidget *tab = new QWidget();
tab->setObjectName(QString::fromUtf8("tab"));
QHBoxLayout *horizontalLayout_4 = new QHBoxLayout(tab);
horizontalLayout_4->setSpacing(0);
horizontalLayout_4->setContentsMargins(0, 0, 0, 0);
horizontalLayout_4->setObjectName(QString::fromUtf8("horizontalLayout_4"));
QScrollArea *scrollArea = new QScrollArea(tab);
scrollArea->setObjectName(QString::fromUtf8("scrollArea"));
scrollArea->setFrameShape(QFrame::NoFrame);
scrollArea->setFrameShadow(QFrame::Plain);
scrollArea->setWidgetResizable(true);
QWidget *scrollAreaWidgetContents = new QWidget();
scrollAreaWidgetContents->setObjectName(QString::fromUtf8("scrollAreaWidgetContents"));
scrollAreaWidgetContents->setGeometry(QRect(0, 0, 758, 480));
QGridLayout *gridLayout = new QGridLayout(scrollAreaWidgetContents);
gridLayout->setSpacing(6);
gridLayout->setContentsMargins(11, 11, 11, 11);
gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
QSpacerItem *horizontalSpacer_2 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer_2, 1, 0, 1, 1);
QSpacerItem *horizontalSpacer_3 = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);
gridLayout->addItem(horizontalSpacer_3, 1, 4, 1, 1);
QSpacerItem *verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout->addItem(verticalSpacer, 0, 3, 1, 1);
QSpacerItem *verticalSpacer_2 = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);
gridLayout->addItem(verticalSpacer_2, 2, 3, 1, 1);
QFrame *frame = new QFrame(scrollAreaWidgetContents);
frame->setObjectName(QString::fromUtf8("frame"));
frame->setMinimumSize(QSize(650, 400));
frame->setFrameShape(QFrame::StyledPanel);
frame->setFrameShadow(QFrame::Raised);
QLabel *label = new QLabel(frame);
label->setObjectName(QString::fromUtf8("label"));
label->setGeometry(QRect(20, 20, 91, 21));
QLabel *label_2 = new QLabel(frame);
label_2->setObjectName(QString::fromUtf8("label_2"));
label_2->setGeometry(QRect(20, 70, 111, 16));
QLabel *label_3 = new QLabel(frame);
label_3->setObjectName(QString::fromUtf8("label_3"));
label_3->setGeometry(QRect(20, 110, 341, 111));
QLabel *label_4 = new QLabel(frame);
label_4->setObjectName(QString::fromUtf8("label_4"));
label_4->setGeometry(QRect(20, 230, 341, 111));
QPushButton *pushButton = new QPushButton(frame);
pushButton->setObjectName(QString::fromUtf8("pushButton"));
pushButton->setGeometry(QRect(20, 360, 85, 27));
QPushButton *pushButton_2 = new QPushButton(frame);
pushButton_2->setObjectName(QString::fromUtf8("pushButton_2"));
pushButton_2->setGeometry(QRect(110, 360, 85, 27));
gridLayout->addWidget(frame, 1, 3, 1, 1);
scrollArea->setWidget(scrollAreaWidgetContents);
horizontalLayout_4->addWidget(scrollArea);
///////////////////////// HIER /////////////////////////
tabWidget->addTab(tab, "Welcome");
tabWidget->addTab(tab, "Welcome");
///////////////////////// HIER /////////////////////////
// Es öffnet sich nur ein Tab //
///////////////////////////////////////////////
//Welcome Tab end
///////////////////////////////////////////////
tabWidget->show();
return app.exec();
}Wie kann ich den hier designten Tab mehrmals öffnen?
MfG,
Basti