思维导图
作业
练习
#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();}
题目