【发布时间】:2014-12-25 16:08:31
【问题描述】:
我有一个带有 QTextEdit 的 tabwidget,其对象名称为“text_field”(通过 Qt 设计器设置)。它在一个标签内。例如,在文本编辑器中,文件在多个选项卡中打开。我想复制这个。因此,每当我按下“新建文件”按钮时,它应该以编程方式创建另一个带有新 QTextEdit 字段的选项卡。 到目前为止,我编写的所有函数都使用上述对象名称,例如
void MainWindow::some_function() {
...
ui->text_field->textCursor();
...
}
如您所见,我以错误的方式处理此问题。问题是,当我按下“新建文件”按钮时,如何为新创建的 QTextEdit 设置相同的对象名称?
我试过这样的。
void MainWindow::on_actionNew_triggered()
{
QTextEdit *text_field = new QTextEdit();
ui->tabWidget->addTab(text_field,"Untitled.txt");
ui->tabWidget->setCurrentWidget(text_field);
}
结果是它正在创建新选项卡,还添加了一个 QTextEdit 小部件,但这些功能仅适用于最初创建的 QTextEdit 而不是以编程方式创建的。
【问题讨论】: