第51讲 记事本实现打开功能
回到第24个功能文件Notepad,给UI中的各个控件添加槽函数。
①开始按钮
void Widget::on_btnOpen_clicked()
{QString fileName=QFileDialog::getOpenFileName(this,tr("Open File"),"E:\\6_Qt Projects\\24_Notepad\\files",tr("Text(*.txt *.doc)"));//QFileDialog限制程序可打开的文件形式为txt文件或者doc文本ui->textEdit->clear();//每次打开文件时清除控件区域“textEdit”QFile file;file.setFileName(fileName);if(!file.open(QIODevice::ReadOnly|QIODevice::Text)){qDebug()<<"file open error";}QTextStream in(&file);in.setCodec("UTF-8");while(!in.atEnd()){QString context=in.readLine();//qDebug()<<qPrintable(context);ui->textEdit->append(context);//将读取到的每行内容通过 append 方法添加到界面的文本编辑框(ui->textEdit)中}file.close();
}
实现效果:
依次点击
输出结果为:
再试一下打开另外一个文件:
新内容正确显示,原本的文件内容也已经被删除。