Qt实现简单的打开、新建、保存文件的界面小程序

QFileDialog::getOpenFileName

QMessageBox

QFile

keyPressEvent

实现简单的打开、新建、保存文件的界面小程序

QFileDialog::getOpenFileName

QFileDialog::getOpenFileName用来选择一个本地文件,用法如下,第二个参数表示窗口名称,第三个参数表示获取当前程序的地址,也可以更改为其他地址,第四个参数为过滤文件类型,当前表示只显示所有的.cpp文件

QString fileName = QFileDialog::getOpenFileName(this, tr("选择一个文件打开"),QCoreApplication::applicationFilePath(),"*.cpp");
    if(fileName.isEmpty()){
        QMessageBox::warning(this,"警告","请选择一个文件");
    }

QMessageBox

QMessageBox常被用做弹窗提示用户,例如:

QMessageBox::warning(this,"警告","请选择一个文件");

效果图如下
QMessageBox::warning效果图
还有一些别的静态成员函数,如图
QMessage静态成员函数
具体用法可参考Qt接口文档

QFile

QFile主要用来操作文件,用法如下

        QFile file(fileName);//文件路径名
        file.open(QIODevice::ReadOnly);//文件操作方式
        QByteArray baData = file.readAll();//读取文件全部内容
        ui->textEdit->setText(QString(baData));//显示
        file.close();

keyPressEvent

对于Qt来说,键盘的按下/弹起、鼠标左右键点击、滚轮滑动等等都可以称为事件(或是信号),可以监听触发,keyPressEvent就是键盘事件,可以在继承了QObject后重写void keyPressEvent(QKeyEvent *e)函数,实现想要的功能。
qt开发文档中有对应键盘事件的属性,如下图
Qt键盘属性

实现简单的打开、新建、保存文件的界面小程序

界面布局如下图,采用mainWindow窗口,垂直布局,左上方三个按钮,文件下有打开、新建、保存三个选项
界面设计图
附上代码
.cpp

#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <QFileDialog>
#include "QMessageBox"
#include <QDebug>
#include <QFile>
#include <QKeyEvent>
#include <QByteArray>

using namespace std;

MainWindow::MainWindow(QWidget *parent)
    : QMainWindow(parent)
    , ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    this->setWindowTitle("信号检测");
    connect(ui->newFile,&QAction::triggered,this,&MainWindow::newActionSlot);
    connect(ui->openFile,&QAction::triggered,this,&MainWindow::openActionSlot);
    connect(ui->saveFile,&QAction::triggered,this,&MainWindow::saveActionSlot);
}

MainWindow::~MainWindow()
{
    delete ui;
}
//鼠标事件处理
void MainWindow::keyPressEvent(QKeyEvent *e)
{
    if(e->modifiers() == Qt::ControlModifier && e->key() == Qt::Key_S){
        saveActionSlot();
    }
}

//新建
void MainWindow::newActionSlot()
{
    ui->textEdit->clear();
    this->setWindowTitle("新建文本文档");
}
//打开
void MainWindow::openActionSlot()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("选择一个文件打开"),QCoreApplication::applicationFilePath(),"*.cpp");
    if(fileName.isEmpty()){
        QMessageBox::warning(this,"警告","请选择一个文件");
    }else{
        qDebug()<<fileName;
        QFile file(fileName);
        file.open(QIODevice::ReadOnly);
        QByteArray baData = file.readAll();
        ui->textEdit->setText(QString(baData));
        file.close();
    }
}

//保存
void MainWindow::saveActionSlot()
{
    QString fileName = QFileDialog::getOpenFileName(this, tr("选择一个文件打开"),QCoreApplication::applicationFilePath(),"*.cpp");
    if(fileName.isEmpty()){
        QMessageBox::warning(this,"警告","请选择一个文件");
    }else{
        QFile file(fileName);
        file.open(QIODevice::WriteOnly);
        QByteArray baData;
        baData.append(ui->textEdit->toPlainText().toLatin1());
        file.write(baData);
        file.close();
    }
}


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
### 回答1: Qt是一种跨平台的C++应用程序框架,能够轻松创建图形化用户界面。使用Qt创建GUI应用程序通常需要以下步骤: 1. 安装QtQt提供了官方的安装程序,可以从Qt官网上下载并安装(https://www.qt.io/)。 2. 使用Qt Creator创建新项目:Qt Creator是一款集成开发环境(IDE),使用它可以轻松创建Qt应用程序。在Qt Creator中,选择“新建项目”,选择“应用程序”或“窗口应用程序”,然后选择所需的Qt版本、编译器和项目选项。 3. 设计用户界面Qt Creator提供了可视化设计工具来设计用户界面。用户可以通过拖放和添加各种Qt小部件来构建GUI元素,如按钮、文本框、下拉菜单、列表框等等。 4. 编写代码:在Qt Creator中,用户可以在界面设计器中使用信号和槽来添加实际的功能。信号表示用户界面中的某些事件,而槽则是连接到这些事件的处理程序。用户可以使用C++语言编写槽功能的实现。 5. 运行应用程序:一旦用户界面和代码都完成了,用户可以按下“运行”按钮来启动应用程序。在Qt Creator中,可以选择多种编译选项(如Release、Debug等等),以及不同的目标平台(如Windows、Mac、Linux等等)。 总结来说,使用Qt创建GUI应用程序是一个简单、直观的过程,Qt Creator提供了丰富的工具和特性,再加上Qt的完美跨平台性,使得开发人员能够快速、高效地构建华丽的用户界面。 ### 回答2: Qt是一款跨平台开发库,提供了许多工具和机制,方便开发实现图形化界面。要使用Qt实现图形化界面,需要以下几步操作: 第一步,安装Qt。可以从Qt官网下载相应的安装包进行安装,安装过程中需要选择适合自己开发语言Qt版本。 第二步,创建Qt项目。在Qt Creator中选择File -> New File or Project,选择Qt应用模板,填写项目名称、路径等信息。然后选择需要添加的类和头文件,最后点击Finish创建项目。 第三步,设计窗口和控件。在Qt Creator中,选择Design模式可以进入图形化界面设计模式,可以添加窗口和控件,并设置它们的属性。 第四步,编写代码。可以在Qt Creator中的编辑模式下编写代码,通过信号和槽机制控制界面和逻辑交互,也可以使用Qt提供的组件和API进行界面和逻辑实现。 第五步,编译和运行。在Qt Creator中点击Build菜单生成可执行文件或者库文件,然后点击Run进行运行调试。 需要注意的是,Qt提供了丰富的文档和示例程序,可以方便开发者学习和使用,同时也可以在Qt中调用其他C++库进行开发。使用Qt实现图形化界面可以大大缩短开发时间和提高开发效率,适合于各种桌面或移动设备应用开发。 ### 回答3: Qt是一种功能强大的跨平台C++框架,它可以帮助我们实现图形化用户界面。以下是使用Qt实现图形化界面的步骤: 1. 安装Qt 在使用Qt之前,我们需要首先下载并安装Qt开发工具包。Qt提供了免费的开源版本,我们可以从Qt官网上下载适合自己电脑系统的版本并进行安装。 2. 创建Qt项目 打开Qt Creator,依次点击 File -> New File or Project 命令,然后选择适合的 Qt Quick 工程,填写项目名称等相关信息,就可以创建一个新的 Qt 项目。 3. 设计用户界面Qt Creator中,在 Design 模式下创建用户界面。可以使用Qt Creator中的工具包快速构建按钮、文本框、标签、列表框等各种UI元素,通过拖拽、缩放、旋转等方式来完成界面的设计。 4. 编写程序代码 在 Qt 项目中,使用 C++ 语言语法编写代码,通过Qt的API以及与UI设计器中定义的对象进行交互。可以实现事件处理、控件操作等功能。Qt还提供了丰富的组件库,可以用于运用到图形界面上。 5. 运行并调试程序 在 Qt Creator 中,我们可以通过运行和调试功能,来检查应用程序是否如我们所预期的那样正常运行。 总之,使用Qt实现图形界面并不是很难,只需要了解简单QT那么就能学会。Qt的功能强大且易学易用,可以帮助我们快速开发出优秀的图形化界面
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值