


#include "widget.h"
#include "ui_widget.h"
#include <QFontDialog>
#include <QFont>
#include <QMessageBox>
#include <QColorDialog>
#include <QColor> //
#include <QFileDialog> //文件对话框
#include <QDebug>
#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->setFont(f);// ui->textEdit->setCurrentFont(f);}else{QMessageBox::information(this,"提示","用户取消了选择字体");}
}void Widget::on_colorbtn_clicked()
{QColor c = QColorDialog::getColor(QColor("red"),this,"选择颜色");//对选择的颜色进行判断if(c.isValid()){//表示用户点击的确定按钮//将选中的颜色,设置到文本编辑器中ui->textEdit->setTextColor(c); //设置字体颜色// ui->textEdit->setTextBackgroundColor(c); //设置字体背景颜色}else{QMessageBox::information(this,"提示","用户取消了选择颜色");}
}void Widget::on_openbtn_clicked()
{//调用文件对话框的今天成员函数,打开系统的文件对话框QString f = QFileDialog::getOpenFileName(this,"选择文件","./","all(*.*);;text(*.txt);;Image(*.png *.jpg *.xpm)");//进行文件IO操作//1.实例化一个文件对象QFile w;w.setFileName(f);//2.打开文件if(!w.exists()){QMessageBox::information(this,"提示","文件不存在");return;}if(!w.open(QFile::ReadOnly | QFile::WriteOnly)){QMessageBox::information(this,"提示","文件打开失败");}//程序执行至此,表示文件已经打开//3.读取文件中的数据QByteArray msg = w.readAll();ui->textEdit->setText(QString(msg));w.close();
}//输入槽函数
void Widget::on_inputbrn_clicked()
{bool ok;//调用成员静态函数QString text = QInputDialog::getText(this,"输入文本","请输入姓名",QLineEdit::Password,"", //输入框中的默认文本&ok);if(ok==true){//表示用户确定了输入的数据,可以正常使用数据}else{QMessageBox::information(this,"提示","用户取消了输入数据");}}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();}}}