首先,请看下面的图片
简而言之,如何获得content(text)
的{{1}}
注意:我已经通过代码而不是Qt设计动态创建了TextEdit
和MDI subWindow(QWidget)
。
以下是用于创建TextEdit
和MDI subWindow
:
TextEdit
现在,我如何访问TextEdit的text属性来获取内容?
答案 0 :(得分:1)
QTextEdit::plainText()应该让你到那里。显然,您需要保留指向您动态创建的QTextEdit
的指针。
答案 1 :(得分:0)
QMdiSubWindow * QMdiArea::activeSubWindow () const
提供了获取活动子窗口的功能。您还可以使用findChild
来获取具有特定姓名的孩子:
QTextEdit * textEdit = ui->mdiArea->activeSubWindow()->widget()->findChild<QTextEdit*>("myTextEdit");
但是您还应该在创建子窗口小部件时为其设置名称:
QTextEdit *textEdit = new QTextEdit(widget);
textEdit->setObjectName("myTextEdit");
同样QList<T> QObject::findChildren ( const QString & name = QString() ) const
返回具有给定名称且可以强制转换为类型T的所有子节点。省略名称会导致所有对象名称匹配。因此,您可以通过以下方式访问小部件的所有子项:
QList<QTextEdit *> list = ui->mdiArea->activeSubWindow()->widget()->findChildren<QTextEdit *>();
foreach(QTextEdit *w, list)
{
...
}
答案 2 :(得分:0)
如果有人和PyQt / PySide(像我一样)有同样的问题:要访问活动子窗口中的当前窗口小部件,请使用以下命令:
txtWidget=myQMdiArea.activeSubWindow().widget()