#include<QColorDialog>
#include<QFileDialog>
#include<QFile>
QT_BEGIN_NAMESPACE
namespace Ui { class Widget; }
QT_END_NAMESPACE
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = nullptr);
~Widget();
QString s;
private slots:
void on_msgbutton_clicked();
void on_colorbutton_clicked();
void on_openfilebtn_clicked();
void on_savebtn_clicked();
private:
Ui::Widget *ui;
};
#endif // WIDGET_H
#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_msgbutton_clicked()
{
bool ok;
//调出系统字体对话框
QFont f =QFontDialog::getFont(&ok,QFont("宋体",10,5),this,"字体");
if(ok)
{
ui->textEdit->setCurrentFont(f);//设置选中文字字体
}
}
void Widget::on_colorbutton_clicked()
{
QColor c=QColorDialog::getColor(QColor(0,0,0),this,"颜色");//调出颜色对话框,选中文件
if(c.isValid())
{
ui->textEdit->setTextColor(c);//设置选中字体颜色
}
}
void Widget::on_openfilebtn_clicked()
{
QString f=QFileDialog::getOpenFileName(this,"打开文件","./","Txt(*.txt);;c程序(*.c);;c++(*.cpp);;all(*.*)");//获取打开文件的文件名
QFile file(f);//实例化对象
file.open(QIODevice::ReadWrite);//打开文件
QByteArray msg=file.readAll();//读取文件内容
ui->textEdit->setText(msg);//将文件内容写入文本框
file.close();
}
void Widget::on_savebtn_clicked()
{
QString f =QFileDialog::getSaveFileName(this,"保存文件","./","txt(*.txt)");//获取保存文件的文件名
QFile file(f);//实例化对象
file.open(QFileDevice::ReadWrite);//创建文件
QString s= ui->textEdit->toPlainText();//读取文本框内容
file.write(s.toLocal8Bit());//将文本框内容转换为QByteArray类型写入
file.close();
}