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保存鼠标的坐标。

相关推荐
游乐码7 分钟前
c#结构体
开发语言·c#
Coder_Boy_13 分钟前
JDK17_JDK21并发编程:资深架构常用模式+最佳实践
java·开发语言·spring boot·架构
大黄说说24 分钟前
Python 实战指南:一键批量旋转 PDF 页面方向
开发语言·python·pdf
郁闷的网纹蟒26 分钟前
虚幻5---第16部分---敌人(中)
开发语言·c++·ue5·游戏引擎·虚幻
毕设源码-邱学长39 分钟前
【开题答辩全过程】以 基于Java的通信运营商流量管理系统设计与实现为例,包含答辩的问题和答案
java·开发语言
一阵寒风1 小时前
ComfyUI本地部署指南
开发语言·人工智能·python
麦德泽特1 小时前
构建统一的机器人武器与伤害感应接口:I²C总线与PWM地址分配的巧妙结合
c语言·开发语言·机器人
wangluoqi1 小时前
c++ 数据结构-树状数组、线段树 小总结
开发语言·数据结构·c++
我命由我123451 小时前
Java 开发 - 如何让一个类拥有两个父类
java·服务器·开发语言·后端·java-ee·intellij-idea·intellij idea
ID_180079054731 小时前
Python采集京东商品详情:基于官方API的规格与价格获取
开发语言·数据库·python