Qt и C ++: добавить QLineEdit в QTabWidget - PullRequest
1 голос
/ 10 июля 2020

Я хочу добавить QLineEdit к QTabWidget, но всегда получаю

Segmentation fault, SIGSEGV

Я сделал это следующим образом:

QHBoxLayout *layout = new QHBoxLayout;
QWidget *Tab = new QWidget(ui->tabWidget);
ui->tabWidget->addTab(Tab, "Tab1");
Tab->setLayout(layout);

QLineEdit *lE = new QLineEdit();
lE->setObjectName("Text");
lE->setText("Hello");
ui->tabWidget->widget(0)->layout()->addWidget(lE);

Этот способ работает для добавления QPushButton, но почему-то не работает для QLineEdit.

1 Ответ

0 голосов
/ 10 июля 2020

вы можете добавить виджет в ячейку

пример:

//
QWidget* pWidget = new QWidget();
QLineEdit* foo = new QLineEdit(this);
foo->setText("Edit");
QHBoxLayout* pLayout = new QHBoxLayout(pWidget);
pLayout->addWidget(foo);
pLayout->setAlignment(Qt::AlignCenter);
pLayout->setContentsMargins(0, 0, 0, 0);
pWidget->setLayout(pLayout);

this->ui->myTable->setCellWidget(1, 1, pWidget);
...