Вы можете использовать функцию widget
для QTabWidget
, чтобы получить виджет с указанным индексом вкладки.
Если QPlainTextEdit
является единственным виджетом на каждой вкладке, то возвращаемый виджет будет таким. В противном случае вам нужно получить children
виджета и найти в них QPlainTextEdit
.
QPlainTextEdit* pTextEdit = NULL;
QWidget* pWidget= ui->tabWidget->widget(1); // for the second tab
// You can use metaobject to get widget type or qobject_cast
if (pWidget->metaObject()->className() == "QPlainTextEdit")
pTextEdit = (QPlainTextEdit*)pWidget;
else
{
QList<QPlainTextEdit *> allTextEdits = pWidget->findChildren<QPlainTextEdit *>();
if (allTextEdits.count() != 1)
{
qError() << "Error";
return;
}
pTextEdit = allTextEdits[0];
}
// Do whatever you want with it...
ptextEdit->setPlainText("Updated Plain Text Edit);