qt使用事件来进行文件操作

使用键盘进行操作

cpp 复制代码
#include<QKeyEvent>

包含的头文件

在.h文件中添加此函数

cpp 复制代码
 void keyPressEvent(QKeyEvent*k);

在.cpp中的实现操作

cpp 复制代码
void MainWindow::keyPressEvent(QKeyEvent*k)
{
    if(k->modifiers()==Qt::ControlModifier&&k->key()==Qt::Key_S)
    {
        saveActionSlot();

    }

}

Qt::ControlModifier是键盘敲ctrl键的操作

这行代码是在键盘敲下crtl和s键实现文件另存为操作

cpp 复制代码
void MainWindow::saveActionSlot()
{
    QString filename=QFileDialog::getSaveFileName(this,"选择一个文件保存",
                      QCoreApplication::applicationFilePath());
    if(filename.isEmpty())
    {
        QMessageBox::warning(this,"警告","请选择一个文件");
    }
    else
    {
        QFile file(filename);
        file.open(QIODevice::WriteOnly);
        // QByteArray ba;
        // ba.append(ui->textEdit->toPlainText());
        file.write(ui->textEdit->toPlainText().toUtf8().data());
        file.close();
    }
}

这是实现另存为函数的代码。

使用鼠标进行操作

cpp 复制代码
#include<QMouseEvent>

添加头文件

cpp 复制代码
 void mousePressEvent(QMouseEvent*m);
cpp 复制代码
void MainWindow::mousePressEvent(QMouseEvent*m)
{
    QPoint pt=m->pos();
    qDebug()<<pt;
    if(m->button()==Qt::LeftButton)
    {
        qDebug()<<"左键被按下";
    }
    else if(m->button()==Qt::RightButton)
    {
        qDebug()<<"右键被按下";
    }
}

pt保存鼠标的坐标。

相关推荐
ptu小鹏3 小时前
类和对象(中)
开发语言·c++
Bayi·5 小时前
前端面试场景题
开发语言·前端·javascript
碎梦归途5 小时前
23种设计模式-结构型模式之享元模式(Java版本)
java·开发语言·jvm·设计模式·享元模式
Xiaoyu Wang5 小时前
Go协程的调用与原理
开发语言·后端·golang
bigear_码农5 小时前
python异步协程async调用过程图解
开发语言·python·线程·进程·协程
得鹿梦鱼、6 小时前
Qt案例 使用QFtpServerLib开源库实现Qt软件搭建FTP服务器,使用QFTP模块访问FTP服务器
qt·qftp·qftpserver
知识分享小能手6 小时前
JavaScript学习教程,从入门到精通,Ajax与Node.js Web服务器开发全面指南(24)
开发语言·前端·javascript·学习·ajax·node.js·html5
凌叁儿6 小时前
Python 的 datetime 模块使用详解
开发语言·python
谁家有个大人6 小时前
Python数据清洗笔记(上)
开发语言·笔记·python·数据分析
MurphyStar7 小时前
UV: Python包和项目管理器(从入门到不放弃教程)
开发语言·python·uv