Как создать новый виджет QPlainTextEdit в новой вкладке QTabWidget?

Я работаю над проектом текстового редактора muti-tab. У меня проблема при попытке отобразить текстовый файл в новой вкладке.
При открытии текстового файла я хочу, чтобы программа отображала содержимое на новой вкладке с новым виджетом 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

Решение

Я думаю, вам нужно заменить

ui->plainTextEdit->setPlainText(InputData.readAll());

с

plainTextEdit->setPlainText(InputData.readAll());
0

Другие решения


По вопросам рекламы [email protected]