我正在开发一个多标签文本编辑器项目。我尝试在新标签中显示文本文件时遇到问题。 打开文本文件时,我希望程序使用新的QPlainTextEdit小部件在新选项卡中显示内容,并且不要查看旧选项卡及其内容。
我的问题: 当程序打开一个新的文本文件时,它将创建一个新选项卡并将其文本更改为文件名,但它会在第一个选项卡及其plainTextEdit小部件中显示文件内容。如何解决?
我的代码:
void MainWindow::on_btn_Open_triggered()
{
FilePath = QFileDialog::getOpenFileName(this, "Open File", "./", "All Files(*.*)");
QFile GetFile(FilePath);
QFileInfo FileMetaData(FilePath);
if (!GetFile.open(QIODevice::ReadOnly|QIODevice::Text))
{
QMessageBox::information(0, "ERROR", "Cannot open this file.");
}
else
{
int clickTimes = 1;
QTextStream InputData(&GetFile);
QPlainTextEdit *plainTextEdit = new QPlainTextEdit;
ui->tabWidget->insertTab(clickTimes, plainTextEdit, FileMetaData.fileName());
ui->tabWidget->setCurrentIndex(clickTimes);
ui->plainTextEdit->setPlainText(InputData.readAll());
clickTimes++;
}
}
答案 0 :(得分:0)
我认为,您需要替换
ui->plainTextEdit->setPlainText(InputData.readAll());
使用
plainTextEdit->setPlainText(InputData.readAll());