我有一个QTabWidget
,每个选项卡都有一个QPlainTextEdit
作为它的小部件。那么,如何访问每个选项卡小部件?如何编辑该小部件?
问问题
19530 次
1 回答
13
您可以使用 的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);
于 2011-12-30T11:29:04.397 回答