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

网站开发框架的工具网站办事服务建设情况

网站开发框架的工具,网站办事服务建设情况,如何制作小程序图片,网络营销与策划书Qt实现可伸缩的侧边工具栏 一直在网上找#xff0c;发现大多的实现方案都是用一个按钮#xff0c;按下控制侧边栏的伸缩#xff0c;但是我想要实现鼠标悬浮在侧边栏的时候就伸出#xff0c;移开就收缩的功能#xff0c;也没找到好的参考#xff0c;所以决定自己实现一个…Qt实现可伸缩的侧边工具栏 一直在网上找发现大多的实现方案都是用一个按钮按下控制侧边栏的伸缩但是我想要实现鼠标悬浮在侧边栏的时候就伸出移开就收缩的功能也没找到好的参考所以决定自己实现一个只在C代码里面就可以实现了不需要用到qss。 效果演示 代码也是功能演示Demo用了显眼的颜色来突出功能。实际用的时候需要继续完善加入到项目中。 实现方法 首先看看我的主界面UI 可以看到我就是用了一个水平布局布局里就放置黄色和红色两个QWidget然后黄色的作为侧边栏黄色里面的布局不用管他只是用来布局侧边栏里面的功能键然后红色的不会去动他。 给黄色的QWidget使用重写悬浮事件来控制伸缩 需要先用到语句给黄色侧边栏开启悬浮事件判断 ui-widget-setAttribute(Qt::WA_Hover, true);在主窗口类里需要重写两个事件待会再写具体实现分别是 protected: 1. bool eventFilter(QObject* obj, QEvent* event); 2. void resizeEvent(QResizeEvent* event);然后要给黄色侧边栏加载主窗口的事件才能用到在主窗口类中重写的事件 ui-widget-installEventFilter(this);重写事件在事件中使用QPropertyAnimation来控制伸缩动画 在主窗口类中先声明一个私有变量QPropertyAnimation* propertyAnimation提供给事件调用。再声明一个布尔值bool sideFlag true来表示当前侧边栏的伸缩状态。 在主窗口构造函数中初始化propertyAnimation propertyAnimation new QPropertyAnimation(ui-widget, geometry); propertyAnimation-setEasingCurve(QEasingCurve::InOutQuint); propertyAnimation-setDuration(200);重写事件resizeEvent void QtApplication::resizeEvent(QResizeEvent* event) {width ui-widget-width(); //width和height都是主窗口类的私有变量height ui-centralWidget-height();propertyAnimation-setStartValue(QRect(-1, 0, 10, height)); //参数代表左上右下坐标propertyAnimation-setEndValue(QRect(-1, 0, width, height)); }这一步是为了重新设置当前窗口下的伸缩的起点和重点位置坐标。这一步是难点在布局下的widget的长度和宽度都是经过改变的不在resize事件下重新获取widget的长度和宽度只会得到最初始的无布局下的widget的长度和宽度简单的说不是正确的数据需要在resizeEvent下或者paintEvent下“在程序运行后”“延后地”获取widget的长度和宽度才是正确的尺寸数据。 重写事件eventFilter bool QtApplication::eventFilter(QObject* obj, QEvent* event) {if (obj ui-widget){if (event-type() QEvent::HoverEnter) //鼠标进入黄色侧边栏中悬浮正向播动画{propertyAnimation-setDirection(QAbstractAnimation::Forward);propertyAnimation-start();return true;}else if (event-type() QEvent::HoverLeave) //鼠标离开黄色侧边栏反向播动画{propertyAnimation-setDirection(QAbstractAnimation::Backward);propertyAnimation-start();return false;}}return QWidget::eventFilter(obj, event); }实现逻辑不难可以理解上述内容后自己写出来就行最关键的点就是获取widget的width和height一定要准确 在这点上我摸了很久后面总算在resizeEvent中成功获取到了准确的数据。
http://www.dnsts.com.cn/news/100542.html

相关文章:

  • 诚信档案建设网站做网站哪个软件好
  • 网站建设 自学 电子版 pdf下载seo标题优化的方法
  • 龙岗网站建设代理商一个网站怎么做提现自动到账
  • 关于网站建设的问题多商户商城系统源码
  • 物流网站公司注册建筑工程公司起名大全
  • php如何网站做修改厦门建设厅网站
  • 蒙城做网站网站建设如何加入字体
  • 搭建一个网站要多久定制网站建设广告
  • 安全网站建设报价清单百度营销登录平台
  • 网站在线留言的用途网站创建多少年了
  • dw做网站的导航栏在线编程网站开发
  • 胶州网站建设 网络推广python基础教程期末考试
  • 网站排名优化提升快速建设公司网站都需要什么科目
  • 建设项目环境影响评价公示网站上海物流公司网站建设
  • 韶关做网站的公司效果营销型网站建设
  • 建设银行云南分行招聘网站世界杯消息哪个门户网站做的好
  • 微信如何建设网站wordpress 后台乱码
  • 淮安j经济开发区建设局网站wordpress如何添加首页
  • 登封网站制作网站建设成都住建局官网电话查询
  • 欧洲做r18 cg的网站建设银行咸阳交费网站
  • 广西省住房和城乡建设厅官方网站wordpress文章无法置顶
  • 做公司+网站建设价格二级域名租用
  • 高端 旅游 网站建设文章 wordpress
  • 网站运营介绍深圳装修公司哪家好
  • 兼职做ppt是哪个网站建设英文网站赚钱的36个方法
  • php做网站切换语言seo网站设计哪里好
  • 私人网站建设步骤网站中的打赏怎么做的
  • 模板网站可以做推广吗拍卖行 网站建设
  • 2018年公司做网站注意事项中国国家人事人才培训网
  • 做淘宝详情的网站凡科做网站怎么样