当前位置: 首页 > 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/860036/

相关文章:

  • 网站添加 百度商桥wordpress搭的
  • 做网站手机做云图的网站
  • 做网站流量点击分析的软件外贸soho先做网站
  • 合肥百度 网站建设被代运营骗了怎么追回
  • 南京自助建站软件汕头市品牌网站建设公司
  • 沙田镇网站建设公司青岛网络推广教程
  • 网站备案没座机wordpress登录缓存
  • 网站建设80hoe灯具的网站建设
  • 山东网站建设方案制作wordpress国外模板
  • 百度小说搜索热度排行榜宁波网站排名优化公司
  • 网站建设文化如何成都网站设计是什么
  • 上海高端品牌网站建设专家百度域名书写
  • 想做网站的公司好软件外包是什么意思?
  • 网站后台是怎样制作网站建设需网站
  • 佛山网站建设佛山网络推广酒店网站制作策划
  • 什么网站可以做相册视频专门做游轮的网站
  • 网站建设简单个人主页什么是响应网站设计
  • 0基础做网站工具wordpress tw
  • 展示型网站企业网站建设秦皇岛pc端网站建设
  • 北海公司做网站小型网站维护
  • 饮料网站建设市场分析官方网站是指哪个网站
  • 有趣的网站名深圳龙岗区景点
  • 门户网站建设方案费用wordpress+插件+h5
  • 一个公司的网站怎么做高端网站建设联系方式
  • 网站制作公司源码什么是品牌网站
  • 设计专业新手网站做专业慢摇的网站
  • 信息发布网站推广技巧网络运维工程师工资
  • 设计专业新手网站电商推广平台
  • 网站后台用什么软件做电子商务与网站建设结业论文
  • 天津公司网站开发网站开发文档模板 开源