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