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

使用键盘进行操作

#include<QKeyEvent>

包含的头文件

在.h文件中添加此函数

 void keyPressEvent(QKeyEvent*k);

在.cpp中的实现操作

void MainWindow::keyPressEvent(QKeyEvent*k)
{if(k->modifiers()==Qt::ControlModifier&&k->key()==Qt::Key_S){saveActionSlot();}}

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

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

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();}
}

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

使用鼠标进行操作

#include<QMouseEvent>

添加头文件

 void mousePressEvent(QMouseEvent*m);
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保存鼠标的坐标。