#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_zibtn_clicked()
{
bool ok = false;//定义是否选中字体
//字体对话框
QFont f = QFontDialog::getFont(&ok,//是否选中字体
QFont("幼圆",20,10,false),//初始字体
this, //父组件
"选择字体"); //标题
if(ok)
{
// ui->textEdit->setFont(f);//设置所有字体
ui->textEdit->setCurrentFont(f);
}
else
{
QMessageBox::information(this,"提示","没有选择字体");
}
}
//颜色
void Widget::on_colbtn_clicked()
{
// static QColor getColor(const QColor &initial = Qt::white,
// QWidget *parent = nullptr,
// const QString &title = QString(),
// ColorDialogOptions options = ColorDialogOptions());
QColor c = QColorDialog::getColor( QColor(190,100,170,0.8),this,"颜色选择");
if(c.isValid())
{
// ui->textEdit->setTextColor(c); //设置字体颜色
ui->textEdit->setTextBackgroundColor(c); //设置字体底纹
}
else
{
QMessageBox::information(this,"提示","没有选择颜色");
}
}
//文件
void Widget::on_openbtn_clicked()
{
// static QString getOpenFileName(QWidget *parent = nullptr,
// const QString &caption = QString(),
// const QString &dir = QString(),
// const QString &filter = QString(),
// QString *selectedFilter = nullptr,//过滤器
// Options options = Options());
QString s = QFileDialog::getOpenFileName(this,"文件","./","all(*.*);;Images (*.png *.jpg);;file (*.txt *.cpp)");
QFile f(s);
if(!f.open(QIODevice::ReadOnly|QIODevice::Text))
{
return;
}
while(!f.atEnd())
{
QByteArray all = f.readAll();
ui->textEdit->setText(all);
}
f.close();
}
void Widget::on_cunbtn_clicked()
{
QString s = QFileDialog::getOpenFileName(this,"文件","./","all(*.*);;Images (*.png *.jpg);;file (*.txt *.cpp)");
QFile f(s);
if(!f.open(QIODevice::WriteOnly|QIODevice::Text|QIODevice::Truncate))
{
return;
}
QString str = ui->textEdit->toPlainText();
f.write(qPrintable(str));
f.close();
this->close();
}