行业知识
QT事件介绍
2026-11-07 02:51:09
来源:互联网转载
QT事件
事件index.php/tags-41973.html" >���发—事件过滤器—事件分发—事件处理阶段
()1、窗口关闭二次确认
2、窗口调整大小
()widget.h
protected: void closeEvent(QCloseEvent *event); void resizeEvent(QResizeEvent *event);
widget.cpp
#include #include #include #include void Widget::closeEvent(QCloseEvent *event){ int ret = QMessageBox::question(this,"提示", "您确定要关闭窗口吗?"); if (ret == QMessageBox::Yes) { event->accept(); } else { event->ignore(); }}void Widget::resizeEvent(QResizeEvent *event){ qDebug() Q_OBJECTpublic: explicit MyLabel(QWidget *parent = 0);signals:public slots:protected: void mousePressEvent(QMouseEvent *ev); void mouseReleaseEvent(QMouseEvent *ev); void mouseMoveEvent(QMouseEvent *ev);};#endif // MYLABEL_H this-setMouseTracking(true); // 设置为true后,不需要按下鼠标即可追踪鼠标了}void MyLabel::mousePressEvent(QMouseEvent *ev){ // qDebug() qDebug() qDebug() qDebug() qDebug() // qDebug() // 判断事件类型(键盘事件) if(event-type() == QEvent::KeyPress){ // 将QEvent类型的event转换类型为QKeyEvent QKeyEvent *keyEvent = static_cast qDebug()