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

网站技术解决网站开发设计培训

网站技术解决,网站开发设计培训,剖析材料范文哪个网站做的好,赣州章贡区属于什么风险区提要 无论你的电脑是支持触摸屏#xff0c;还是你通过usb外部连接触摸屏#xff0c;都能验证你的触摸程序功能。下面说说程序中使用触摸按钮等。 示例 按钮可以实现触摸功能#xff1b;自动义控件可以实现触摸按下拖动#xff1b;触摸长按出现对话框#xff08;也可以是…提要 无论你的电脑是支持触摸屏还是你通过usb外部连接触摸屏都能验证你的触摸程序功能。下面说说程序中使用触摸按钮等。 示例 按钮可以实现触摸功能自动义控件可以实现触摸按下拖动触摸长按出现对话框也可以是其它控件。 按钮可以实现触摸功能 只需要在该按钮所在的对话框的构造函数中添加下面一句 setAttribute(Qt::WA_AcceptTouchEvents);//支持多点触控使用的是控件自身的事件比如按钮的clicked槽函数添加上面的支持触控后触摸点击按钮后就会执行槽函数相应的操作。 自动义控件可以实现触摸按下拖动 同样需要在其构造函数中添加设置支持多点触控的属性 setAttribute(Qt::WA_AcceptTouchEvents);//支持多点触控然后在需要拖动的控件的类中重写鼠标的按下移动释放事件。 //相关变量定义QPoint m_beginPos;//鼠标点击的起始位置QPoint m_leftTopPos;//窗口左上角的位置bool m_isTitle;//点击的点是否在标题栏上void configBtnNameDialog::mousePressEvent(QMouseEvent *event) {if(event-button() Qt::LeftButton){//在标题栏中点击if(ui-widgetTitle-rect().contains(event-pos()))//注意此时使用pos()而不能使用globalPos(){m_beginPos event-globalPos();//刚开始按下点的坐标m_leftTopPos pos();//窗口左上角坐标m_isTitle true;//是窗口标题栏}}QDialog::mousePressEvent(event); }void configBtnNameDialog::mouseMoveEvent(QMouseEvent *event) {if(event-buttons() Qt::LeftButton m_isTitle)//如果按下的是左键且位置在标题栏上{QPoint endPos event-globalPos();//结束点坐标QPoint offPos endPos - m_beginPos;//结束点与开始点坐标差QPoint pos m_leftTopPos offPos;//左上角坐标加偏移量move(pos);//移动到该点}QDialog::mouseMoveEvent(event);//不可忘掉 }void configBtnNameDialog::mouseReleaseEvent(QMouseEvent *event) {m_isTitle false;QDialog::mouseReleaseEvent(event); }其中ui-widgetTitle为自定义的标题栏。实际上这种事件的编写还是之前没有触摸屏时一样的事件只是添加了支持多点触控的属性便可以手动触摸拖动窗口标题栏。 触摸长按出现对话框也可以是其它控件 在按钮上长按几秒出现对话框由于是自定义的按钮所以需要在按钮中重写event事件在event事件中实现长按出对话框。 同样需要在其自定义的按钮的构造函数中添加设置支持多点触控的属性 setAttribute(Qt::WA_AcceptTouchEvents);//支持多点触控下面是event函数的定义 //变量定义 bool m_isLongPress;//是否触屏长按 int m_second 0;//当前的秒数 QTime m_begintime;//开始长按的时间bool myButton::event(QEvent *event) {switch(event-type()){case QEvent::TouchBegin:{QTouchEvent* touch static_castQTouchEvent*(event);QListQTouchEvent::TouchPoint touchPoints touch-touchPoints();outPutmyButton::event-TouchBegin点的个数为touchPoints.count();if(touchPoints.count() 1){m_begintime QTime::currentTime();m_second m_begintime.hour()*3600m_begintime.minute()*60m_begintime.second();outPut开始时间m_begintime当前秒数m_second;m_isLongPress true;}event-accept();}case QEvent::TouchUpdate:{QTouchEvent *touchEvent static_castQTouchEvent *(event);QListQTouchEvent::TouchPoint touchPoints touchEvent-touchPoints();outPutmyButton::event-TouchUpdate点的个数为touchPoints.count();if (touchPoints.count() 1){outPuttouchPoints.count() 1;if(m_isLongPress){outPut正在被按下;QTime current_time QTime::currentTime();int secondEnd current_time.hour()*3600current_time.minute()*60current_time.second();outPut时间secondEnd;if(secondEnd - m_second 1){//长按2秒显示设置名称的对话框showEditNameDlg();outPut长按显示对话框起始时间m_begintime终止时间current_time;}}}return true;}case QEvent::TouchEnd:{m_isLongPress false;event-accept();outPut释放;return true;}default:break;}return QPushButton::event(event); }以上是触摸长按出对话框中间长按等待的时间可能会不一样有时很短的时间可以出对话框有时很长一段时间才出对话框究其原因是进入TouchUpdate的时间不一样如下面这样可以很快出对话框因为检测到了长按时间超过1秒。 2021-03-25 13:59:41 Debug:myButton::event [ 160 ] myButton::event-TouchBegin点的个数为 1 2021-03-25 13:59:41 Debug:myButton::event [ 165 ] 开始时间 QTime(“13:59:41.356”) 当前秒数 50381 2021-03-25 13:59:41 Debug:myButton::event [ 174 ] myButton::event-TouchUpdate点的个数为 1 2021-03-25 13:59:41 Debug:myButton::event [ 177 ] touchPoints.count() 1 2021-03-25 13:59:41 Debug:myButton::event [ 180 ] 正在被按下 2021-03-25 13:59:41 Debug:myButton::event [ 183 ] 时间 50381 2021-03-25 13:59:55 Debug:myButton::event [ 174 ] myButton::event-TouchUpdate点的个数为 1 2021-03-25 13:59:55 Debug:myButton::event [ 177 ] touchPoints.count() 1 2021-03-25 13:59:55 Debug:myButton::event [ 180 ] 正在被按下 2021-03-25 13:59:55 Debug:myButton::event [ 183 ] 时间 50395 2021-03-25 13:59:55 Debug:myButton::event [ 188 ] 长按显示对话框 起始时间 QTime(“13:59:41.356”) 终止时间 QTime(“13:59:55.029”) 2021-03-25 13:59:55 Debug:myButton::event [ 198 ] 释放 以上就可以通过触摸屏长按很快显示对话框但是下面却不是中间需要一直等待程序再次进入TouchUpdate。甚至于一直长按触摸屏没有释放程序也会检测到已经释放输出释放信息。 2021-03-25 13:56:46 Debug:myButton::event [ 165 ] 开始时间 QTime(“13:56:46.032”) 当前秒数 50206 2021-03-25 13:56:46 Debug:myButton::event [ 174 ] myButton::event-TouchUpdate点的个数为 1 2021-03-25 13:56:46 Debug:myButton::event [ 177 ] touchPoints.count() 1 2021-03-25 13:56:46 Debug:myButton::event [ 180 ] 正在被按下 2021-03-25 13:56:46 Debug:myButton::event [ 183 ] 时间 50206 2021-03-25 13:56:47 Debug:myButton::event [ 198 ] 释放 2021-03-25 13:51:34 Debug:myButton::event [ 160 ] myButton::event-TouchBegin点的个数为 1 2021-03-25 13:51:34 Debug:myButton::event [ 165 ] 开始时间 QTime(“13:51:34.172”) 当前秒数 49894 2021-03-25 13:51:34 Debug:myButton::event [ 175 ] myButton::event-TouchUpdate点的个数为 1 2021-03-25 13:51:34 Debug:myButton::event [ 178 ] touchPoints.count() 1 2021-03-25 13:51:34 Debug:myButton::event [ 181 ] 正在被按下 2021-03-25 13:51:34 Debug:myButton::event [ 186 ] 时间 49894 2021-03-25 13:51:37 Debug:myButton::event [ 203 ] 释放 但是功能上应该是正确的可以实现长按触摸屏出现对话框。 总结 1.添加设置触摸属性setAttribute(Qt::WA_AcceptTouchEvents); 常规的按键之类的可以直接实现。 2.复杂一点在event事件中实现相关功能。 注意以上可能只适用于窗口小控件至于场景视图这些不一定完全适用还需做一些改动。
http://www.huolong8.cn/news/307131/

相关文章:

  • 手机建设网站赚钱做移动网站优化优
  • 个人建立一个网站要多少钱苏州建设网站教程
  • 用phython做网站西城上海网站建设
  • 长宁怎么做网站优化好顺义网站开发
  • 宣汉网站建设招商外包公司哪家比较好
  • 安全的集团网站建设信息安全网站建设方案书
  • 细胞医疗 网站模版价格对比网站开发
  • 成都网站定制建设什么网站专门做二手物品
  • 做电商网站都需要学什么条件wordpress 源码下载主题
  • 廊坊网站建设的公司做网站练手
  • 万众城网站建设小米网络营销案例分析
  • 关于手机的网站有哪些内容吗潍坊专业网站制作公司营销
  • 北京网站建设91086武进做网站的公司
  • 湖南网站开发公司电话上海公司注册流程及费用标准
  • 英文网站建设服务合同企业做网站都需要准备哪些材料
  • 室内设计网站配色app深圳品牌公寓
  • 网站单页seo网站须知
  • 做地方门户网站的排名wordpress hook 数据库
  • 网站后台在哪里大都会app支持城市
  • 免费做网站的网址有哪些免费开网站
  • 做网站还是小程序承德名城建设集团网站
  • 保险购买网站宁波建网站模板
  • 电子商务网站建设体会在本地服务器上建设网站的步骤
  • 摄影网站的设计wordpress加漂浮广告
  • 西安微官网自助建站公司网站建设 淘宝客末班
  • 做照片相册最好的网站网站运营需要 做哪些工作
  • 网站建设什么代码最简单wordpress 社交登陆
  • 自己做网站咋做网站地图 seo
  • 免费网站现在是怎么了做网站的皮包公司
  • 网站备案要幕布自媒体平台账号注册