任务:实现文本编辑器四种功能
实现代码
#include "cwin.h"
#include "ui_cwin.h"
cwin::cwin(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::cwin)
{
ui->setupUi(this);
}
cwin::~cwin()
{
delete ui;
}
void cwin::on_bpn1_clicked()
{
bool ok;
QFont f= QFontDialog::getFont(&ok,QFont("宋体",10),this,"选择字体");
if(ok){
//选择字体成功
//ui->textEdit->setFont(f); //将所有字体进行改变
ui->textEdit->setCurrentFont(f); //将选中字体改变
}
else{
//未选择字体
QMessageBox::information(this,"提示","未选择字体");
}
}
void cwin::on_bpn2_clicked()
{
QColor c = QColorDialog::getColor();
//将获取的颜色
ui->textEdit->setTextColor(c); //设置字体颜色
//ui->textEdit->setTextBackgroundColor(c); //设置字体的背景色
}
void cwin::on_openbpn_clicked()
{
QString fileName = QFileDialog::getOpenFileName( //获取文件路径
this, //父组件
"open file", //窗口标题
"./", //起始路径
"Txt(*.txt)"); //过滤器
//创建文件对象,打开给定的路径下的文件
QFile file(fileName);
if(file.open(QFile::ReadWrite))
{
//打开文件,可以进行读写数据
//将文件中的内容读取出来
QByteArray msg = file.readAll();
ui->textEdit->setText(QString::fromLocal8Bit(msg));
}else
{
QMessageBox::information(this,"","文件打开失败");
}
}
void cwin::on_savebpn_clicked()
{
QString fileName = QFileDialog::getSaveFileName(
this,
"保存文件",
"./",
"Txt(*.txt)");
QFile file(fileName);
if(file.open(QFile::ReadWrite)){
QByteArray msg = ui->textEdit->toPlainText().toLocal8Bit();
file.write(msg);
}
else{
QMessageBox::information(this,"","文件另存失败");
}
}
执行结果