网站开发广告宣传语免费创建单页网站
2026/1/26 19:32:48 网站建设 项目流程
网站开发广告宣传语,免费创建单页网站,wordpress简历页,企业建设网站公司有哪些鼠标事件 在Qt中#xff0c;鼠标事件主要包括以下几种#xff1a; 鼠标按下事件#xff0c;当用户按下鼠标按键时触发鼠标释放事件#xff0c;当用户松开鼠标按键时触发鼠标单击事件#xff0c;按下和释放鼠标按键时触发鼠标双击事件#xff0c;用户在短时间内连续单击两…鼠标事件在Qt中鼠标事件主要包括以下几种鼠标按下事件当用户按下鼠标按键时触发鼠标释放事件当用户松开鼠标按键时触发鼠标单击事件按下和释放鼠标按键时触发鼠标双击事件用户在短时间内连续单击两次鼠标按键时触发鼠标移动事件当鼠标指针在窗口或控件内部移动时触发鼠标滚轮事件用户滚动鼠标滚轮时触发鼠标悬停事件当鼠标停留在控件上方一段时间触发这些函数名都是内置的重写就不用写槽函数和发送信号代码如下这里有两个窗口小控件的被大的挡住了myLabel.h#ifndefMYLABEL_H#defineMYLABEL_H#includeQWidget#includeQLabelclassmyLabel:publicQLabel{public:// 显式构造函数explicitmyLabel(QWidget*parent0);// 定义鼠标按下事件触发函数voidmousePressEvent(QMouseEvent*ev);// 定义鼠标移动事件触发函数voidmouseMoveEvent(QMouseEvent*ev);// 定义鼠标释放事件触发函数voidmouseReleaseEvent(QMouseEvent*ev);// 双击事件双击时候会触发单击voidmouseDoubleClickEvent(QMouseEvent*ev);// 滚轮事件voidwheelEvent(QWheelEvent*ev);// 鼠标进入控件区域voidenterEvent(QEnterEvent*ev);// 鼠标离开控件区域voidleaveEvent(QEvent*ev);private:QWidget*QLabel;};#endif// MYLABEL_HmyLabel.cpp#includemylabel.h#includeQMouseEvent#includeQWidgetmyLabel::myLabel(QWidget*parent):QLabel(parent){}voidmyLabel::mousePressEvent(QMouseEvent*ev){// 判断鼠标按下的是左键还是右键if(ev-button()Qt::LeftButton){QString strQString::fromLocal8Bit(鼠标左键按下(%1,%2)).arg(QString::number(ev-x()),QString::number(ev-y()));this-setText(str);}else{QString strQString::fromLocal8Bit(鼠标右键按下(%1,%2)).arg(QString::number(ev-x()),QString::number(ev-y()));this-setText(str);}}voidmyLabel::mouseMoveEvent(QMouseEvent*ev){// 开启这个实施捕捉setMouseTracking(true);QString strQString::fromLocal8Bit(鼠标移动(%1,%2)).arg(QString::number(ev-x()),QString::number(ev-y()));this-setText(str);}voidmyLabel::mouseReleaseEvent(QMouseEvent*ev){this-setText(QString::fromLocal8Bit(鼠标松开));}voidmyLabel::mouseDoubleClickEvent(QMouseEvent*ev){QString strQString::fromLocal8Bit(触发双击(%1, %2)).arg(QString::number(ev-x()),QString::number(ev-y()));this-setText(str);// 改变一下样式看是否成功this-setStyleSheet(background-color: #ffcccc; font-size: 20px; border: 2px solid blue;);}voidmyLabel::wheelEvent(QWheelEvent*ev){// angleDalta().y() 0 表示向前滚远离客户intdeltaev-angleDelta().y();QString directiondelta0?QString::fromLocal8Bit(向前滚“放大”):QString::fromLocal8Bit(向后滚“缩小”);QString strQString::fromLocal8Bit(滚轮滑动数值 %1 - %2).arg(delta).arg(direction);this-setText(str);}voidmyLabel::enterEvent(QEnterEvent*ev){this-setStyleSheet(background-color: lightblue; font-size: 20px; border: 2px solid blue);this-setText(QString::fromLocal8Bit(鼠标已进入区域));}voidmyLabel::leaveEvent(QEvent*ev){this-setStyleSheet(background-color: lightgray; font-size: 20px; border: 2px solid black);this-setText(QString::fromLocal8Bit(鼠标已离开));}widget.cpp#includewidget.h#includeui_widget.h#includemylabel.hWidget::Widget(QWidget*parent):QWidget(parent),ui(newUi::Widget){ui-setupUi(this);this-setWindowTitle(QString::fromLocal8Bit(鼠标事件));myLabel*labelnewmyLabel(this);label-setText(QString::fromLocal8Bit(初始状态));label-setFixedSize(400,400);label-setAlignment(Qt::AlignCenter);label-setStyleSheet(QLabel{border:1px solid red;});label-show();}Widget::~Widget(){deleteui;}

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询