当前位置: 首页 > news >正文

服务预约网站怎么建设怎么去推广自己的店铺

服务预约网站怎么建设,怎么去推广自己的店铺,个人简历模板表格下载,WordPress制作公告1.概要 创建一个矩形&#xff0c;当鼠标进入这个矩形的时候&#xff0c;这个矩形边线变色&#xff0c;且鼠标变成手型 2.代码 #include <QApplication> #include "customRectWidget.h" /** qt 6.7版&#xff0c; 创建一个矩形&#xff0c;当鼠标进入这个矩形…

1.概要

创建一个矩形,当鼠标进入这个矩形的时候,这个矩形边线变色,且鼠标变成手型

2.代码

#include <QApplication>
#include "customRectWidget.h"
/** qt 6.7版, 创建一个矩形,当鼠标进入这个矩形的时候,这个矩形边线变色,* 且鼠标变成手型,且这时候按下鼠标,鼠标可以上下拖动这个矩形,* 当鼠标松开的时候停止移动,但鼠标离开矩形的时候,矩形颜色恢复,完整代码举例;* 强调一下,鼠标进入矩形内,颜色变化,鼠标变成手型,不是鼠标进入矩形所在的控件就有上述变化。
*/
int main(int argc, char *argv[]) {QApplication app(argc, argv);CustomRectWidget widget;widget.show();return app.exec();
}
#ifndef CUSTOMRECTWIDGET_H
#define CUSTOMRECTWIDGET_H#include <QWidget>
#include <QMouseEvent>class CustomRectWidget : public QWidget {Q_OBJECTpublic:explicit CustomRectWidget(QWidget *parent = nullptr);protected:void paintEvent(QPaintEvent *event) override;void mouseMoveEvent(QMouseEvent *event) override;void mousePressEvent(QMouseEvent *event) override;void mouseReleaseEvent(QMouseEvent *event) override;void enterEvent(QEnterEvent *event) override;void leaveEvent(QEvent *event) override;void setIsChange(const QPoint &mousePos);
private:QRect rect;bool dragging;QPoint dragStartPoint;QColor hoverColor;QColor normalColor;bool isChange;bool isMouseInsideRect(const QPoint &mousePos) const;
};#endif // CUSTOMRECTWIDGET_H

 

#include "customRectWidget.h"
#include <QPainter>
#include <QCursor>
#include <QDebug>CustomRectWidget::CustomRectWidget(QWidget *parent): QWidget(parent), rect(50, 50, 200, 100), dragging(false), hoverColor(Qt::red), normalColor(Qt::black) {setFixedSize(300, 300);// 启用鼠标追踪,以便在鼠标没有按下时也能接收mouseMoveEventsetMouseTracking(true);
}void CustomRectWidget::setIsChange(const QPoint &mousePos){bool value = isMouseInsideRect(mousePos);if(value==isChange){return;}update();isChange = value;
}void CustomRectWidget::paintEvent(QPaintEvent *event) {Q_UNUSED(event)QPainter painter(this);painter.setRenderHint(QPainter::Antialiasing, true);QColor borderColor = normalColor;if (isMouseInsideRect(mapFromGlobal(QCursor::pos()))) {borderColor = hoverColor;}painter.setPen(QPen(borderColor, 3));painter.setBrush(Qt::white);painter.drawRect(rect);
}void CustomRectWidget::mousePressEvent(QMouseEvent *event) {setIsChange(event->pos());if (isMouseInsideRect(event->pos())) {dragging = true;dragStartPoint = event->pos();}
}void CustomRectWidget::mouseMoveEvent(QMouseEvent *event) {setIsChange(event->pos());if (dragging && isMouseInsideRect(dragStartPoint)) {int dy = event->pos().y() - dragStartPoint.y();rect.moveTop(rect.top() + dy);dragStartPoint = event->pos();update(); // Trigger repaint with new position}
}void CustomRectWidget::mouseReleaseEvent(QMouseEvent *event) {Q_UNUSED(event)dragging = false;
}void CustomRectWidget::enterEvent(QEnterEvent *event) {Q_UNUSED(event)// We manually set the cursor in the mouseMoveEvent based on the rect position
}void CustomRectWidget::leaveEvent(QEvent *event) {Q_UNUSED(event)// Cursor will be reset to default when leaving the widget
}bool CustomRectWidget::isMouseInsideRect(const QPoint &mousePos) const {bool ret = rect.contains(mousePos);if(ret) {qDebug()<<"in";}else{qDebug()<<"not in";}return ret;
}

 3.运行结果

http://www.yayakq.cn/news/179912/

相关文章:

  • 一学一做教育视频网站有哪些青岛红岛做网站
  • 怎么做自己的单机网站三维家软件培训班
  • 安徽网站开发外贸公司一般怎么找客户
  • php网站开发环境说明网站喜报怎么做
  • 做网站的教程wordpress categoryin
  • 网站不交换友情链接可以吗网站改版怎么做301重定向
  • 网站建设之家wordpress建站手机端
  • 网站渗透无版权图片做网站
  • qq群推广用什么网站好工作网站开发制作
  • 哪些网站使用wordpress设计网站流程包括哪些
  • 爱名网做网站教程vue cdn做的网站
  • 自助建站系统php好企业网站
  • 做租车行网站什么值得买wordpress主题
  • 顺德网站建设公司咨询微信公众号怎么创建文章
  • 网站建设企业号助手做代理网站用什么软件
  • 住建部工程建设标准网站网站建设学习 服务器
  • 免费直播网站企业生产管理软件
  • 诀窍的网站seo优化的方法
  • 做网站的要求七宝网站建设
  • 外贸网站开发网站title的写法
  • 潍坊网站建设评价牙科医院网站设计怎么做
  • 广州企业建设网站如何给网站更换域名
  • 小白怎么做网站网站建设就业怎么样
  • 营销类网站互联网营销概念
  • 杭州网站建设公司有哪几家网络营销的8个基本职能
  • 网页制作网站开发的论文广告优化师适合女生吗
  • 男孩子怎么做网站赚钱个人网站备案 淘宝客
  • 注册网站的免费网址是什么陕西省西安市建设局网站
  • 天门网站设计满足客户的分销管理系统
  • 保定曲阳网站建设做ppt兼职的网站有哪些