head.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QString>
#include <QPushButton>
#include <QTextEdit>
#include <QtDebug>
#include <QFontDialog>
#include <QFont>
#include <QColor>
#include <QColorDialog>
#include <QFileDialog>
#include <QFile>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
QPushButton *bt1,*bt2,*bt3,*bt4;
QTextEdit *tb;
private:
Ui::Widget *ui;
public slots:
void btn_slot1();
void btn_slot2();
void btn_slot3();
void btn_slot4();
};
#endif // WIDGET_H
ウィジェット.cpp
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent) :
QWidget(parent),
ui(new Ui::Widget)
{
//ui->setupUi(this);
this->resize(800,600);
this->setWindowTitle("编辑器");
//QPushButton *bt1,*bt2,*bt3,*bt4;
//QTextBrowser *tb;
bt1 = new QPushButton("字体",this);
bt1->resize(60,30);
bt1->move(100,550);
connect(bt1,&QPushButton::clicked,this,&Widget::btn_slot1);
bt2 = new QPushButton("颜色",this);
bt2->resize(60,30);
bt2->move(300,550);
connect(bt2,&QPushButton::clicked,this,&Widget::btn_slot2);
bt3 = new QPushButton("打开文件",this);
bt3->resize(60,30);
bt3->move(500,550);
connect(bt3,&QPushButton::clicked,this,&Widget::btn_slot3);
bt4 = new QPushButton("保存文件",this);
bt4->resize(60,30);
bt4->move(650,550);
connect(bt4,&QPushButton::clicked,this,&Widget::btn_slot4);
tb = new QTextEdit(this);
tb->setStyleSheet("border-radius:50px;");
tb->resize(600,480);
tb->move(100,50);
}
Widget::~Widget()
{
delete ui;
}
//设置文本内容字体
void Widget::btn_slot1()
{
bool ok;
QFont F = QFontDialog::getFont(&ok,QFont("宋体",12,3,true),NULL,"选择字体");
if(ok){
this->tb->setFont(F);
}
}
//设置文本框内容颜色
void Widget::btn_slot2()
{
QColor C = QColorDialog::getColor(QColor("blue"),this,"选择颜色");
this->tb->setTextColor(C);
}
//打开文件并读取到文本框
void Widget::btn_slot3()
{
QString filename = QFileDialog::getOpenFileName(this,"选择文件","./","ALL(*.*);;");
if(filename.isEmpty())
{
qDebug()<<"取消了";
return ;
}
QFile file(filename);
if(!file.exists()){
qDebug()<<"文件不存在";
return ;
}
if(!file.open(QIODevice::ReadWrite)){
qDebug()<<"打开文件失败";
return ;
}
QByteArray text = file.readAll();
this->tb->setText(QString::fromUtf8(text));
file.close();
}
void Widget::btn_slot4()
{
QString filename = QFileDialog::getSaveFileName(this,"保存文件","./","ALL(*.*);;");
QFile file(filename);
if(!file.open(QIODevice::ReadWrite)){
qDebug()<<"打开文件失败";
return ;
}
QString m=this->tb->toPlainText();
file.write(m.toUtf8());
file.close();
}