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

北京网站开发seo自动优化软件

北京网站开发,seo自动优化软件,厦门外贸公司做网站,传统网站建设本文介绍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.mmbaike.com/news/49539.html

相关文章:

  • wordpress move 插件网站推广专家十年乐云seo
  • 商城类网站建设步骤小红书关键词排名怎么做
  • 潍坊专业网络营销性价比高seo排名
  • wordpress当前菜单好搜自然seo
  • 浙江建设厅特种工查询西安百度网站快速优化
  • 宁夏建设职业技术学院网站服装品牌营销策划方案
  • 管城网站建设网络营销特点
  • 政府网站的ipv6建设方案长沙做网络推广公司的
  • 微信营销和网站建设百度信息流广告
  • 公司网站建设视频教程网站目录结构
  • 做网站怎么做其他页营销方案网站
  • 怎么做全网小说网站橙子建站
  • 怎样做信息收费网站网站技术外包公司
  • 做网站会遇到什么问题爱站工具包官网下载
  • 哪个网站可以做excel阿里云域名注册
  • b2c是什么意思的资阳地seo
  • 最近一周体育新闻大事seo工具
  • 一个旅游网站建设小红书sem是什么意思
  • 飞言情做最好的小说网站广州最新重大新闻
  • 自己做的网站加载慢的原因拓客平台有哪些
  • 盘龙城做网站最近10个新闻
  • 福州网络科技公司有哪些优化网站的目的
  • 本地网站做不大千锋教育培训机构可靠吗
  • 两学一做网站视频百度搜索什么关键词排名
  • 网站建设阿里云搭建个人网站重庆做网络优化公司电话
  • 手机网站开发成本seo推广论坛
  • 网站建设初期 该如何推广网络推广公司怎么找客户
  • 微信网站开发报价济南竞价托管公司
  • 武汉网站建设南宁seo排名收费
  • 丹徒网站建设策划建个网站需要多少钱?