文本编辑器
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_fontButton_clicked()
{
bool ok=false;
QFont f=QFontDialog::getFont(&ok,
QFont("幼圆",20,10,false),
this,
"选择字体");
if(ok)
{
ui->textEdit->setCurrentFont(f);
}else
{
QMessageBox::information(this,"提示","您没有选择字体");
}
}
void Widget::on_colorButton_clicked()
{
QColor c=QColorDialog::getColor(QColor(190,100,170),
this,
"选择颜色");
if(c.isValid())
{
ui->textEdit->setTextColor(c);
}else
{
QMessageBox::information(this,"提示","您没有选择颜色");
}
}
void Widget::on_openButton_clicked()
{
QString fileName=QFileDialog::getOpenFileName(this,
"选择文件",
"./",
"all file(*.*);;Text(*.txt);;Image(*.png *.jpg *.gif)");
QFile file(fileName);
if(!file.open(QFile::ReadOnly))
{
return;
}
QByteArray msg=file.readAll();
ui->textEdit->setText(msg);
file.close();
}
void Widget::on_saveButton_clicked()
{
QString fileName = QFileDialog::getSaveFileName(this, tr("Save File"), "E:\\Qt\\001", tr("Text Files (*.txt)"));
QFile file(fileName);
if (!fileName.isEmpty())
{
if (!file.open(QIODevice::WriteOnly))
{
return;
} else
{
file.write(ui->textEdit->toPlainText().toUtf8());
file.close();
}
}
}