思维导图
作业
练习
#include "widget.h"
#include "ui_widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::Widget)
{
ui->setupUi(this);
this->setMouseTracking(true);
}
Widget::~Widget()
{
delete ui;
}
void Widget::mousePressEvent(QMouseEvent *event)
{
//qDebug() << "有鼠标被按下";
if(event->button()==Qt::LeftButton)
{
qDebug() << "鼠标左键被按下";
}
else if(event->button()==Qt::RightButton)
{
qDebug() << "鼠标右键被按下";
}
else if(event->button()==Qt::MidButton)
{
qDebug() << "鼠标中键被按下";
}
}
void Widget::mouseReleaseEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
qDebug() << "鼠标左键被抬起";
}
else if(event->button()==Qt::RightButton)
{
qDebug() << "鼠标右键被抬起";
}
else if(event->button()==Qt::MidButton)
{
qDebug() << "鼠标中键被抬起";
}
}
void Widget::mouseDoubleClickEvent(QMouseEvent *event)
{
if(event->button()==Qt::LeftButton)
{
qDebug() << "鼠标左键被双击";
}
else if(event->button()==Qt::RightButton)
{
qDebug() << "鼠标右键被双击";
}
else if(event->button()==Qt::MidButton)
{
qDebug() << "鼠标中键被双击";
}
}
void Widget::mouseMoveEvent(QMouseEvent *event)
{
if(event->buttons()==Qt::LeftButton)
{
qDebug() << "鼠标左键被移动" <<event->pos() <<event->globalPos();
}
else if(event->buttons()==Qt::RightButton)
{
qDebug() << "鼠标右键被移动"<<event->pos() <<event->globalPos();
}
else if(event->buttons()==Qt::MidButton)
{
qDebug() << "鼠标中键被移动"<<event->pos() <<event->globalPos();
}
}
void Widget::keyPressEvent(QKeyEvent *event)
{
qDebug() <<event->text()<<"被按下,对应的值为:"<<event->key();
}
void Widget::keyReleaseEvent(QKeyEvent *event)
{
qDebug() <<event->text()<<"被按下,对应的值为:"<<event->key();
}
补充
void Widget::on_saveBtn_clicked()
{
//调用静态成员函数
QString fname = QFileDialog::getSaveFileName(this,
"选择文件",
"./",
"all(*.*);;text(*.txt);;Image(*,png *.jpg *.xpm);;soures(*.cpp)");
QFile f;
f.setFileName(fname);
if(!f.exists())
{
QMessageBox::information(this,"提示","文件不存在");
return;
}
if(!f.open(QFile::WriteOnly))
{
QMessageBox::information(this,"提示","文件打开失败");
}
//从QTextEdit读取文件
QString q = ui->textEdit->toPlainText();
//将内容写入文件
QByteArray msg = q.toUtf8();
f.write(msg);
//关闭文件
f.close();
}
题目