
#include "mainwindow.h"
#include "ui_mainwindow.h"
#include<QDir>
#include<QFileDialog>
#include<QCoreApplication>
#include<QColorDialog>
#include<QFontDialog>
#include<QInputDialog>
#include<QMessageBox>
#pragma execution_character_set("utf-8")
MainWindow::MainWindow(QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::on_pushButton_clicked()
{
QString curpath=QDir::currentPath();
QString dlgtitle=QString::fromLocal8Bit("选择一个文件");
QString filter=QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有文件(*.*)");
QString afilename=QFileDialog::getOpenFileName(this,dlgtitle,curpath,filter);
if(!afilename.isEmpty()){
ui->plainTextEdit->appendPlainText(afilename);
}
}
void MainWindow::on_pushButton_2_clicked()
{
QString curpath=QDir::currentPath();
QString dlgtitle=QString::fromLocal8Bit("打开多个文件");
QString filer=QString::fromLocal8Bit("文本文件(*.txt);;图片文件(*.jpg *.gif);;所有文件(*.*)");
QStringList afilename=QFileDialog::getOpenFileNames(this,dlgtitle,curpath,filer);
for (int i =0;i<afilename.length();i++){
ui->plainTextEdit->appendPlainText(afilename.at(i));
}
}
void MainWindow::on_pushButton_3_clicked()
{
QString curpath=QCoreApplication::applicationDirPath();
QString curp2=QDir::currentPath();
QString dlgtitle=QString::fromLocal8Bit("选择一个目录");
QString selecteddir=QFileDialog::getExistingDirectory(this,dlgtitle,curpath,QFileDialog::ShowDirsOnly);
if (!selecteddir.isEmpty()){
ui->plainTextEdit->appendPlainText(selecteddir);
}
}
void MainWindow::on_pushButton_4_clicked()
{
QString curpath=QCoreApplication::applicationDirPath();
QString plgtitle=QString::fromLocal8Bit("保存文件");
QString filter=QString::fromLocal8Bit("h文件(*.h);;c++文件(*.cpp);;所有文件(*.*)");
QString sfilename=QFileDialog::getSaveFileName(this,plgtitle,curpath,filter);
if(!sfilename.isEmpty()){
ui->plainTextEdit->appendPlainText(sfilename);
}
}
void MainWindow::on_pushButton_5_clicked()
{
QPalette pal=ui->plainTextEdit->palette();
QColor inicolor=pal.color(QPalette::Text);
QColor color=QColorDialog::getColor(inicolor,this,QString::fromLocal8Bit("选择颜色"));
if (color.isValid()){
pal.setColor(QPalette::Text,color);
ui->plainTextEdit->setPalette(pal);
}
}
void MainWindow::on_pushButton_6_clicked()
{
QFont inifont=ui->plainTextEdit->font();
bool ok=false;
QFont font=QFontDialog::getFont(&ok,inifont,this,QString::fromLocal8Bit("请选择字体"));
if (ok){
ui->plainTextEdit->setFont(font);
}
}
void MainWindow::on_pushButton_7_clicked()
{
QString dlgtitle=QString::fromLocal8Bit("输入文字对话框");
QString txtlabel=QString::fromLocal8Bit("请输入文件名");
QString defaultinput=QString::fromLocal8Bit("text1.txt");
bool ok=false;
QString text=QInputDialog::getText(this,dlgtitle,txtlabel,QLineEdit::Normal,defaultinput,&ok);
if(ok && !text.isEmpty()){
ui->plainTextEdit->appendPlainText(text);
}
}
void MainWindow::on_pushButton_8_clicked()
{
QString dlgtitle=QString::fromLocal8Bit("输入整数对话框");
QString textlabel=QString::fromLocal8Bit("设置字体大小");
int defaultvalue=ui->plainTextEdit->font().pointSize();
int minvalue=6,maxvalue=50,stepvalue=1;
bool ok=false;
int inputvalue=QInputDialog::getInt(this,dlgtitle,textlabel,defaultvalue,minvalue,maxvalue,stepvalue,&ok);
if (ok){
QFont font=ui->plainTextEdit->font();
font.setPointSize(inputvalue);
ui->plainTextEdit->setFont(font);
}
}
void MainWindow::on_pushButton_9_clicked()
{
QString dlgtitle=QString::fromLocal8Bit("输入浮点数对话框");
QString floatlabel=QString::fromLocal8Bit("输入一个浮点数");
float defaultvalue=3.13;
float minvalue=-100,maxvalue=100000;
int decimals=2;
bool ok=false;
float inputvalue=QInputDialog::getDouble(this,dlgtitle,floatlabel,defaultvalue,minvalue,maxvalue,decimals,&ok);
if (ok){
QString str0=QString::fromLocal8Bit("输入一个浮点数:");
QString str=QString::asprintf("%s %.2f",str0.toUtf8().data(),inputvalue);
ui->plainTextEdit->appendPlainText(str);
}
}
void MainWindow::on_pushButton_10_clicked()
{
QString dlgtitle="条目选择对话框";
QString textlabel="请选择级别";
QStringList items;
items<<"优秀"<<"良好"<<"合格"<<"不合格";
int defaultitem=0;
bool editable=true;
bool ok=false;
QString text=QInputDialog::getItem(this,dlgtitle,textlabel,items,defaultitem,editable,&ok);
if(ok&& !text.isEmpty()){
ui->plainTextEdit->appendPlainText(text);
}
}
void MainWindow::on_pushButton_11_clicked()
{
QString dlgtitle="消息对话框";
QString strinfo="文件已经打开,字体大小已经设置";
QMessageBox::information(this,dlgtitle,strinfo,QMessageBox::Ok,QMessageBox::NoButton);
}
void MainWindow::on_pushButton_13_clicked()
{
QString dlgtitle="question 对话框";
QString strinfo="文件已经修改,是否保存修改";
QMessageBox::StandardButton defaultbtn=QMessageBox::NoButton;
QMessageBox::StandardButton result;
result=QMessageBox::question(this,dlgtitle,strinfo,QMessageBox::Yes|QMessageBox::No|QMessageBox::Cancel,defaultbtn);
if(result==QMessageBox::Yes){
ui->plainTextEdit->appendPlainText("question 消息框:yes 被选择");}
else if (result==QMessageBox::No) { ui->plainTextEdit->appendPlainText("question 消息框:no 被选择");}
else if (result==QMessageBox::Cancel) { ui->plainTextEdit->appendPlainText("question 消息框:cancel 被选择");}
else{ui->plainTextEdit->appendPlainText("question 消息框:无选择");}
}
void MainWindow::on_pushButton_12_clicked()
{
ui->plainTextEdit->clear();
}