当前位置: 代码迷 >> QT开发 >> ~QT,实现菜单动作open
  详细解决方案

~QT,实现菜单动作open

热度:48   发布时间:2016-04-25 04:55:42.0
求助~!QT,实现菜单动作open
想实现主窗口菜单动作open(),并将打开的文件内容在pro_content0界面的textEdit控件中显示。其中pro_content0是显示在窗口中心区域的stackedWidget中的一个界面,仿照QT给的例子,编译没有错误,就是不能显示,而且会把被打开的文档清空...请各位大侠指点迷津~!


pro_content0 *con1;

mainWindow.cpp文件:
void MainWindow::on_actionOpen_3_triggered()
{
  do_file_saveornot();
  QString fileName=QFileDialog::getOpenFileName(this);
  if(!fileName.isEmpty())
  {do_file_load(fileName);}
  con1->getedit()->setVisible(true);
}

bool MainWindow::do_file_load(const QString& fileName)
{
  QFile file(fileName);
  if(!file.open(QFile::WriteOnly|QFile::Text))
  { QMessageBox::warning(this,tr("Read"),
  tr("Cannot Save").arg(fileName).arg(file.errorString()));
  return false;
  }
  QTextStream in(&file);

  QApplication::setOverrideCursor(Qt::WaitCursor);
  ui->stackedWidget->setCurrentWidget(con1);
  con1->getedit()->setText(in.readAll());
  curFile=QFileInfo(fileName).canonicalFilePath();

  QApplication::restoreOverrideCursor();

  setWindowTitle(curFile);
  setCurrentfile(fileName);
  return true;

}


pro_content0.cpp:
QTextEdit *pro_content0::getedit()
{
  return ui->textEdit;
}


------解决方案--------------------
con1->getedit()->setText("hello"); /// 试试能行不,再看看in.readAll()有数据没
------解决方案--------------------
调试!
------解决方案--------------------
example:
 qDebug("Items in list: %d", myList.size());
调试!
  相关解决方案