文本编辑器
.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setWindowTitle("记事本");
this->setWindowIcon(QIcon("C:\\Users\\yangg\\Desktop\\jishiben.png"));
}
Widget::~Widget()
{
delete ui;
}
void Widget::on_typefacebtn_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_colorbtn_clicked()
{
QColor c = QColorDialog::getColor(QColor(190,100,170),
this,
"选择颜色");
QColor d = QColorDialog::getColor(QColor(190,100,170),
this,
"选择颜色");
if(c.isValid())
{
ui->textEdit->setTextColor(d);
ui->textEdit->setTextBackgroundColor(c);
}
else
{
QMessageBox::information(this,"提示","您没有选择颜色!");
}
}
void Widget::on_openbtn_clicked()
{
QString filename = QFileDialog::getOpenFileName(this,
"选择文件",
"D:\\Document\\C++&QT",
"all file(*.*);;Text(*.txt);;Image(*.png *.jpg *.gif)");
qDebug() << filename;
QFile file(filename);
if(!file.open(QFile::ReadOnly))
{
return;
}
QByteArray msg = file.readAll();
//ui->textEdit->setText(QString::fromLocal8Bit(msg));
ui->textEdit->setText(msg);
file.close();
}
void Widget::on_savebtn_clicked()
{
QString file_path = QFileDialog::getSaveFileName(this,
"保存",
"D:\\Document\\C++&QT",
"all file(*.*);;Text(*.txt);;Image(*.png *.jpg *.gif)");
QFile file(file_path);
if (file.open(QIODevice::WriteOnly | QIODevice::Text))
{
QByteArray msg = ui->textEdit->toPlainText().toUtf8().constData();
file.write(msg);
file.close();
}
}