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

相关推荐
oort1235 分钟前
VLStream 全开源决策式 AI 视频平台 技术视角完整说明
大数据·开发语言·人工智能·经验分享·python·开源·音视频
Cloud_Shy6186 分钟前
解读《Effective Python 3rd Edition》:从练气到老魔(第二章 Item 10 - 12)
c语言·开发语言·网络·人工智能·windows·python·编辑器
Xeon_CC7 分钟前
vs2026远程开发debian12容器的C++程序笔记
开发语言·c++·笔记
水无痕simon10 分钟前
9 C语言的基础练习
c语言·开发语言·算法
少司府12 分钟前
C++进阶:二叉搜索树
开发语言·数据结构·c++·二叉树·stl·二叉搜索树·tree
Rust研习社15 分钟前
从 LaunchBadge 到 transact-rs:SQLx 社区迈出可持续治理的第一步
开发语言·后端·rust
程序大视界24 分钟前
【C++ 从基础到项目实战】C++(九):友元与设计模式初探——打破封装的艺术
开发语言·c++·cpp
hhb_61827 分钟前
Bash变量不加引号:空格文件名致命陷阱
开发语言·chrome·bash
宸津-代码粉碎机27 分钟前
Spring AI企业级RAG进阶|文档智能分片调优、ES深度整合、接口限流熔断监控生产实战
java·开发语言·人工智能·后端·spring·elasticsearch·oracle
两年半的个人练习生^_^30 分钟前
JVM进阶系列:彻底理解 Java 内存模型(JMM)
java·开发语言