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

相关推荐
2501_944521596 小时前
Ramda 跨端三方库仓颉适配全流程
开发语言·javascript·flutter·php
行思理7 小时前
go语言学习难度及适合学习的人群
开发语言·学习·golang
wangchunyu1148 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
初阳7858 小时前
【基于Qt5仿音乐播放器(六)】——细节打磨与总结
qt·1024程序员节
程序 代码狂人9 小时前
切片表与分区表的区别(数据开发面试版)
java·大数据·开发语言·数据仓库·算法
meiying883810 小时前
快递单号批量查询Python脚本:从手动到自动化的完整实现
开发语言·python·自动化
@大迁世界11 小时前
告别 Go,拥抱 Rust
开发语言·golang·rust
SEO_juper11 小时前
Node.js 重定向链检测工具:301 跳了几跳、有没有成环,一次看清
xml·开发语言·python·node.js·json·bash
学逆向的11 小时前
C 指针常量与常量指针
c语言·开发语言·网络安全
低调滴开发12 小时前
3 行代码写崩一个函数?切片才是 Rust 字符串处理的正确姿势
开发语言·后端·rust