如何从 QTabWIdget C++ 读取 textedit 对象的文本?
Posted
技术标签:
【中文标题】如何从 QTabWIdget C++ 读取 textedit 对象的文本?【英文标题】:How to read text of textedit object from QTabWIdget C++? 【发布时间】:2020-09-14 07:39:00 【问题描述】:每当创建新标签时,我都会调用相同的 TextEdit 对象。但是其他选项卡上的文本无法访问。如何从新标签页中打开的其他 TextEdit 中获取文本。
我正在尝试将文本保存在文件中。
每个新标签页都使用相同的 TextEdit
void MainWindow::on_actionsavew_triggered()
QString file_name = QFileDialog::getSaveFileName(this,"Open the file","X://");
QFile file(file_name);
if(!file.open(QFile::WriteOnly | QFile::Text))
QMessageBox::warning(this,"Error","File not Open");
return;
QTextStream out(&file);
QString text = ui->textEdit->toPlainText();
out<<text;
file.flush();
file.close();
【问题讨论】:
如何添加新标签? void MainWindow::on_actionNew_Tab_triggered() ui->tabWidget->addTab(new QTextEdit(ui->textEdit), QString("Tab %0").arg(ui->tabWidget->计数()+1)); ui->tabWidget->setCurrentIndex(ui->tabWidget->count()-1); 【参考方案1】:这里
QString text = ui->textEdit->toPlainText();
是对我们的提示,表明您实际上是在使用 qt creator 中的 qt 设计器将这些小部件添加到选项卡和窗口中,因此您可以使用相同的方法访问任何小部件及其属性
例如
做
QString textFromTab1 = ui->textEditInTab1->toPlainText();
【讨论】:
每个标签都有相同的TextEdit。 怎么可能?你是在前后移动 Widget 吗???? 每个新标签中也有相同的文本编辑。该代码仅适用于第一个选项卡。 void MainWindow::on_actionNew_Tab_triggered() ui->tabWidget->addTab(new QTextEdit(ui->textEdit), QString("Tab %0").arg (ui->tabWidget->count()+1)); ui->tabWidget->setCurrentIndex(ui->tabWidget->count()-1);以上是关于如何从 QTabWIdget C++ 读取 textedit 对象的文本?的主要内容,如果未能解决你的问题,请参考以下文章
QTabWidget 或 QTabBar 使用 C++ 在不同选项卡中显示相同的 QWidget