我正在学习Qt和一般的C ++,我仍然坚持这个问题。希望回答很简单。
我有一个QTextEdit
由此代码创建:
void MainWindow::on_actionNewtab_triggered()
{
ui->tabWidget->addTab(new QTextEdit, "Untitled Document");
}
现在,如果我制作三个标签,我不确定如何编辑所选当前标签的QTextBox
。我查看了文档(非常好),我认为我需要this,但我不确定如何。我还在此网站上找到了this,但这似乎编辑了所有QTextEdits
?
答案可能非常简单,我只是遗漏了一些东西:)。如果您需要更多详细信息,请与我们联系。
答案 0 :(得分:1)
将指针保存到所需的QTextBox
并根据需要进行编辑。
QTextEdit *myTextEdit;
void MainWindow::on_actionNewtab_triggered()
{
myTextEdit = new QTextEdit;
ui->tabWidget->addTab(myTextEdit, "Untitled Document");
}
您也可以使用QTabWidget::widget()
和QTabWidget::currentWidget()
在创建后获取指向窗口小部件的指针,但您必须先将结果转换为实际类型。
答案 1 :(得分:0)
您可以直接使用以下方式访问文本编辑:
qobject_cast<QTextEdit*>(ui->tabWidget->currentWidget())->SetText("my text");