qt完成文本框的书写
头文件
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QFont>
#include <QFontDialog>
#include <QDebug>
#include <QColor>
#include <QColorDialog>
#include <QFile>
#include <QFileDialog>
#include <QString>
namespace Ui {
class Widget;
}
class Widget : public QWidget
{
Q_OBJECT
public:
explicit Widget(QWidget *parent = nullptr);
~Widget();
private slots:
void on_ztbtn_clicked();
void on_colorbtn_clicked();
void on_openbtn_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_ztbtn_clicked()
{
bool ok;
QFont f=QFontDialog::getFont(&ok,
QFont("黑体",10,2,true),
nullptr,
"选择字体");
if(ok)
{
//将选中的字体加载到文本编辑器的内容上
//ui->textEdit->setFont(f); //只能改变所有文字样式
//将选中的字体加载字体样式
ui->textEdit->setCurrentFont(f);
}
else
{
qDebug()<<"user cancel";
}
}
//颜色槽函数
void Widget::on_colorbtn_clicked()
{
QColor c=QColorDialog::getColor(QColor("pink") //初始颜色
,this, //父组件
"颜色选择"); //对话框标题
if(c.isValid())
{
qDebug()<<"太合法了";
//将颜色设置到字体上
//ui->textEdit->setTextColor(c); //设置字体前景色
ui->textEdit->setTextBackgroundColor(c); //后景色设置
}
else {
qDebug()<<"不合法";
}
}
//打开槽函数
void Widget::on_openbtn_clicked()
{
QString filename= QFileDialog::getOpenFileName(this, //父组件
"选择打开文件", //对话框标题
"./", //起始目录
"All(*.*);;Text(*.txt);;源文件(*.cpp);;图片(*.png *.jpg *.xpm)"); //过滤器
//判断用户是否选中
if(filename.isEmpty())
{
qDebug()<<"用户取消选择文件";
return;
}
else {
//输出路径
qDebug()<<filename;\
//文件操作三部曲:打开、读写、关闭
QFile file(filename);
//判断文件是否存在
if(!file.exists())
{
qDebug()<<"你打开的文件不存在!";
return;
}
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
qDebug()<<"error";
return;
}
//读取文件中的数据
QByteArray text = file.readAll(); //将文件中的所有数据读取出来
//将读取到的文件内容展示到ui界面
ui->textEdit->setText(QString::fromLocal8Bit(text));
//关闭文件
file.close();
}
}
//保存槽函数
void Widget::on_savebtn_clicked()
{
//获取文件路径 文件存在直接保存,若不存在则直接创建
QString filename = QFileDialog::getSaveFileName(this,
"保存文件",
"./"
"ALL(*.*)");
//实例化文件对象
QFile file(filename);
//打开文件
if(!file.open(QIODevice::ReadWrite))
{
qDebug()<<"error";
return;
}
//获取ui界面上的文本内容
QString msg = ui->textEdit->toPlainText();
//将msg写入文件
file.write(msg.toLocal8Bit());
//关闭文件
file.close();
}
字体按钮实现效果
颜色按钮实现效果
打开文件按钮实现效果