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

搜狗网站优化软件网易企业邮箱登入路口

搜狗网站优化软件,网易企业邮箱登入路口,建设部网站如何下载国标规范,中国建筑总公司官网首页本文介绍Qt自定义按键实现长,短按。 Qt触摸屏应用有时会涉及到触摸屏按钮长,短按操作,如长按实现关机操作,本文基于普通QPushButton为基类,自定义按键实现长,短按操作。 1.定义新类 这里以QPushButton为…

本文介绍Qt自定义按键实现长,短按。

Qt触摸屏应用有时会涉及到触摸屏按钮长,短按操作,如长按实现关机操作,本文基于普通QPushButton为基类,自定义按键实现长,短按操作。

1.定义新类

这里以QPushButton为基类,自定义一个新类“CustomButton”,参考代码如下:

1)头文件

#ifndef CUSTOMBUTTON_H
#define CUSTOMBUTTON_H#include <QWidget>
#include <QElapsedTimer>
#include <QEvent>
#include <QPushButton>class CustomButton : public QPushButton
{Q_OBJECT
public:explicit CustomButton(QWidget *parent = nullptr);signals:void shortPressed(void);void longPressed(void);public slots:protected:bool event(QEvent *event) override;private:QElapsedTimer pressTime;bool bLongPressed;
};#endif // CUSTOMBUTTON_H

类中声明了2个信号,shortPressed()和longPressed()信号。

2)源文件

若想使能触摸事件,需要在构造函数中设置“setAttribute(Qt::WA_AcceptTouchEvents);”。

#include "custombutton.h"
#include <QMouseEvent>
#include <QDebug>CustomButton::CustomButton(QWidget *parent) : QPushButton(parent)
{setAttribute(Qt::WA_AcceptTouchEvents);bLongPressed = false;
}bool CustomButton::event(QEvent *event)
{if (event->type() == QEvent::TouchBegin) {setPalette(QPalette(Qt::red));pressTime.start();bLongPressed = false;return true;} else if (event->type() == QEvent::TouchUpdate) {if (!bLongPressed && (pressTime.elapsed() >= 3000)) {bLongPressed = true;Q_EMIT longPressed();}return true;} else if (event->type() == QEvent::TouchEnd) {setPalette(QPalette(Qt::white));if (!bLongPressed) {Q_EMIT shortPressed();}return true;} else {}return QPushButton::event(event);
}

注意:在接收到触摸事件后,需要返回“true”,否则后续触摸事件无法接收。

2.控件提升

在界面中放置一个普通的PushButton,右键选择“Promoted Widgets”,添加刚才新建的类。

在界面函数中连接新类中的shortPressed()和longPressed()信号到相应的槽函数,即可实现相应的长,短按功能。

缺陷:长按操作时间不准,有时长按时间较短,有时较长。

总结,本文介绍了Qt自定义按键实现长,短按。

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

相关文章:

  • 贵阳网站seo公司旅游网站开发的需求分析
  • 网站建设优化方法 s自己建网站备案
  • 福田网站制作公司建立网站的步骤筝晃湖南岚鸿官网
  • 苏州建设网站电话微信小程序客户管理系统
  • 做豆制品的网站怎么注册一个自己的网址
  • 负责公司网站的更新和维护知名企业名称
  • 柳州网站建设公司响应式网站的好处
  • 在网站建设会议上的讲话做一个小说阅读网站怎么做
  • 响应式网站和自适应网站的区别免费网站源码建站系统
  • js进入网站时有指导怎么做有哪些可以在线做app的网站
  • 二级域名分发网站源码网站内移动的图片怎么做的
  • 食品包装设计用什么软件seo教程技术
  • 二级网站怎么建设广州网站建设q.479185700強
  • 如何查看网站名称网站建设推广页
  • 乐至建设局网站正规网站建设加盟合作
  • 网站备案花钱么中小型企业网络建设
  • 西安网站建设报价方案营销100个引流方案
  • 网站报纸什么软件做网站域名要怎样规划
  • 建站公司对红色网站建设的建议
  • 现在网站一般都是什么语言做的数字营销论文
  • 要建一个网站怎么做西北苗木网陕西泽基生态建设有限公司网站
  • 整个网站全部乱码网络工程师好学吗
  • 凡科 360免费建站wordpress添加自定义模板
  • 网站建设drwhcm电子商务网站建设与维护
  • 做网站接广告赚钱吗免费模板网站哪个好
  • 高端网站建设域名注册福建建设工程信息网查询平台
  • 创世网站常平网站建设
  • 外贸网站制作策划杭州做企业网站公司
  • html前端网站开发视频拍摄剪辑培训
  • 用.aspx做网站seo教程网站