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

小型企业网站建设旅游景点网论文广州网页设计公司公司

小型企业网站建设旅游景点网论文,广州网页设计公司公司,短链接一键生成,wordpress多用户商城系统先看效果: N年前的QQ就可以吸附到屏幕边缘,聊天时候非常方便,不用点击状态栏图标即可呼出QQ界面 自己尝试做了一个糙版的屏幕吸附效果。 关键代码: void Widget::mouseMoveEvent(QMouseEvent *e) {int dx e->globalX() - l…

先看效果:

 N年前的QQ就可以吸附到屏幕边缘,聊天时候非常方便,不用点击状态栏图标即可呼出QQ界面

自己尝试做了一个糙版的屏幕吸附效果。

关键代码:

void Widget::mouseMoveEvent(QMouseEvent *e)
{int dx = e->globalX() - lastPoint_.x();int dy = e->globalY() - lastPoint_.y();int targetx,targety;bool enableAnimation = false;if(mousePress_ == false) {return;}//! 垂直方向if(this->y() < EdgeAttachMargin && this->y() != 0) {//! 吸附顶部targety = 0;enableAnimation = true;} else {targety = this->y();}//! 水平方向if(this->x() < EdgeAttachMargin && this->x() != 0) {//! 吸附左边enableAnimation = 1;targetx = 0;} else {int rightx = this->x()+this->width();if(rightx > (QApplication::desktop()->width()-EdgeAttachMargin) && rightx != QApplication::desktop()->width()) {//! 吸附右边targetx = QApplication::desktop()->width()-this->width();enableAnimation = 1;} else {targetx = this->x();}}if(1 == enableAnimation){if(targetx == 0) {hideType_ = HideType::to_xleft;} else if(targetx == QApplication::desktop()->width()-this->width()) {hideType_ = HideType::to_xright;} else if(targety == 0) {hideType_ = HideType::to_y;}startAnimation(QPoint(targetx,targety),QPoint(this->x(),this->y()));} else {if(hideType_ == HideType::xleft) {int adjustX = x();int adjustY = y() + dy;if(dx > EdgeAttachMargin) {adjustX = x() + dx;hideType_ = HideType::none;lastPoint_.rx() = e->globalX();}this->move(adjustX, adjustY);lastPoint_.ry() = e->globalY();} else if (hideType_ == HideType::xright) {int adjustX = x();int adjustY = y() + dy;if(dx < -EdgeAttachMargin) {adjustX = x() + dx;hideType_ = HideType::none;lastPoint_.rx() = e->globalX();}this->move(adjustX, adjustY);lastPoint_.ry() = e->globalY();} else if(hideType_ == HideType::y) {int adjustX = x() + dx;int adjustY = y();if(dy > EdgeAttachMargin) {adjustY = y() + dy;hideType_ = HideType::none;lastPoint_.ry() = e->globalY();}this->move(adjustX, adjustY);lastPoint_.rx() = e->globalX();} else {int adjustX = x() + dx;int adjustY = y() + dy;if(adjustX < 0) adjustX = 0;if(adjustX > QApplication::desktop()->width() - width()) adjustX = QApplication::desktop()->width() - width();if(adjustY < 0) adjustY = 0;if(adjustY > QApplication::desktop()->availableGeometry().height() - height()) adjustY = QApplication::desktop()->availableGeometry().height() - height();this->move(adjustX, adjustY);lastPoint_   = e->globalPos();}}
}

鼠标悬停展开 / 离去收缩功能,

主要依据void enterEvent(QEvent *event); & void leaveEvent(QEvent *event);两个函数展开

动画效果使用QPropertyAnimation进行,可以参见另一篇博文中的例子:https://blog.csdn.net/wisdomroc/article/details/135975578


全套代码链接:Qt实现窗口吸附屏幕边缘 & 自动收缩 

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

相关文章:

  • 网站广告怎样做工地施工模板尺寸要求
  • 营销类网站 英文seo外包顾问
  • 沂源手机网站建设公司东软 网站群平台建设
  • js网站模板石景山网站开发
  • 辽宁建设工程信息网官网新网站入口买服务器做网站主机
  • 淘宝联盟链接的网站怎么做网站小图标怎么做
  • 婚恋网站 模板建筑类电商网站
  • 做的网站要花钱吗域名怎么获得
  • 南通建公司网站人工智能的关键词
  • 青海专业网站建设推广平台建设在工商局网站怎么做清算
  • index网站制作唐山哪里建筑工地最好
  • 房地产网站策划wordpress指定关键词自动内链
  • 铜仁市网站建设济南网站制作哪家最好
  • 如何查网站备案信息做旅游攻略什么网站最好
  • 沈阳做网站的公司排名设计网免费
  • 泉州企业网站制作做网站需要掌握的技术
  • 无锡做网站公司电话上海网站设计见建设
  • 宝塔网站搭建教程智慧园区建设总体方案
  • 远近互联网站建设分类信息网站程序
  • 苏州智能网站建设策划电子商务网站建设规划书
  • 网站免费建站2软件开发工具属于
  • 新网站不被收录的原因如何进行软件开发
  • 网站建设从零到精通.pdfhtml菜鸟工具
  • 口碑好网站建设报价天津建设发展集团有限公司
  • 自己怎么做直播网站怎样在微信上制作自己的链接
  • wordpress 中文 cms抖音优化排名
  • 淘宝刷单网站开发设计交流网站
  • 查询公司营业执照的网站在线广告平面设计
  • 长沙企业网站制作相亲网站建设
  • 广州网站seo招聘娄底建设网站