![](/image/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNmRkZGMyMjAwMzdjNDNkZmFhNDAxNjFlZGYwZTUyNzAucG5n)
#include "widget.h"
#include "ui_widget.h"
#include<QFontDialog>//字体对话框
#include<QFont>//字体类
#include<QMessageBox>
#include<QColorDialog>
#include<QColor>
#include<QString>
#include<QFileDialog>
#include<QDebug>
#include<QFile>
#include<QInputDialog>
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
}
Widget::~Widget()
{
delete ui;
}
//字体函数
void Widget::on_fontBtn_clicked()
{
bool ok;
QFont f = QFontDialog::getFont(&ok,
QFont("楷体",10,10),
this,
"选择字体");
//对是否选中字体进行判断
if(ok==true){
//将选中字体设置到文本编辑器中
ui->textEdit->setCurrentFont(f);
}else{
//全设置
ui->textEdit->setFont(f);
}
}
//颜色函数
void Widget::on_colorBtn_clicked()
{
QColor c =QColorDialog::getColor(QColor("red"),
this,
"选择颜色");
//判断
if(c.isValid()){
//将选中颜色,设置到文本编辑器中(字体色)
ui->textEdit->setTextColor(c);
}else{
}
}
//文件函数
void Widget::on_openBtn_clicked()
{
//参数:
//父组件、文件名、文件路径、过滤器(可以不设置)
//该函数可以不设置任何参数、默认打开当前路径
QString name = QFileDialog::getOpenFileName(this,
"打开文件",
"D:\\ProjectWorkCpp\\Day208\\pictrue"
);
qDebug()<<name;
//文件IO操作
QFile f;
f.setFileName(name);//设置要管理的文件
//打开文件
//判断,存不存在
if(!f.exists()){
QMessageBox::information(this,"提示","文件不存在!");
}else{
if(!f.open(QFile::ReadOnly | QFile::WriteOnly))
QMessageBox::information(this,"提示","打开失败");
}
//读取文件中数据
QByteArray msg = f.readAll();
//展示
ui->textEdit->setText(QString(msg));
//关闭
f.close();
}
//输入函数
void Widget::on_inputBtn_clicked()
{
QString name = QInputDialog::getText(this,
"输入文本",
"请输入姓名");
if(name!=NULL){
//展示
ui->textEdit->setText(QString(name));
}
}
//另存为函数
void Widget::on_saveBtn_clicked()
{
// 打开另存为对话框,让用户选择保存文件的路径
QString filePath = QFileDialog::getSaveFileName(this, tr("另存为"), "", tr("文本文件 (*.txt)"));
if (!filePath.isEmpty()) {
QFile file(filePath);
if (file.open(QIODevice::WriteOnly | QIODevice::Text)) {
QTextStream out(&file);
// 这里假设要保存的内容是一段示例文本
QString content = "这是要保存的示例文本。";
out << content;
file.close();
}
}
}
![](/image/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvNDdiZDEwYjY3YThiNGI3M2IwOTU3ZmNhYmQ4ZDQ5NzIucG5n)
![](/image/aHR0cHM6Ly9pLWJsb2cuY3NkbmltZy5jbi9kaXJlY3QvMzg1MGRhYjA2YjhlNDk4MGFlMTkyYmEzMjYxODA5ZDQucG5n)