【问题标题】:How to create new QPlainTextEdit widget in new tab of QTabWidget?如何在 QTabWidget 的新选项卡中创建新的 QPlainTextEdit 小部件?
【发布时间】:2014-05-26 07:58:45
【问题描述】:

我正在开发一个多标签文本编辑器项目。当我尝试在新选项卡中显示文本文件时遇到问题。 打开文本文件时,我希望程序使用新的 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++;
  }
}

【问题讨论】:

  • 将`ui->plainTextEdit->`更改为plainTextEdit->

标签: c++ qt widget qt4 qtabwidget


【解决方案1】:

我想,你需要更换

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-03-16
    • 2011-09-04
    • 2021-05-12
    • 1970-01-01
    • 2013-07-25
    • 2015-03-04
    相关资源
    最近更新 更多