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

迪庆州住房和城乡建设局网站网上购物商城官网入口

迪庆州住房和城乡建设局网站,网上购物商城官网入口,深圳app定制开发外包公司,用dw制作个介绍家乡网站在上篇介绍了Qt点亮I.MX6U开发板的一个LED#xff0c;对于Qt控制I.MX6U开发板的一个蜂鸣器原理也是一样的#xff0c;就不做详细介绍#xff0c;具体可参考Qt控制I.MX6U开发板的一个蜂鸣器#xff0c;本篇介绍Qt使用I.MX6U开发板上的按键的相关内容。 文章目录 1. 开发板硬…在上篇介绍了Qt点亮I.MX6U开发板的一个LED对于Qt控制I.MX6U开发板的一个蜂鸣器原理也是一样的就不做详细介绍具体可参考Qt控制I.MX6U开发板的一个蜂鸣器本篇介绍Qt使用I.MX6U开发板上的按键的相关内容。 文章目录 1. 开发板硬件图及板卡按键在电脑键盘中的对应原理2. 出厂内核设备树中注册的按键3. 如何看这个按键的键值对应键盘中的按键4. 程序开发4.1 项目简介4.2 mainwindow.h4.3 mainwindow.cpp4.4 程序运行效果 1. 开发板硬件图及板卡按键在电脑键盘中的对应原理 打开“【正点原子】I.MX6U嵌入式Qt开发指南V1.0.21”该文件最前面就是开发板的硬件图。 上面第一个图中的时阿尔法的板子下为6U的MINI版6U的IO比较紧张所以就只留了一个IO给上图中的黄色按键使用。 Qt开发是如何识别6U的key0按键并在电脑上进行程序开发呢 我们知道Qt可以识别键盘输入键盘即是按键那是否可以将开发板上的按键当做键盘上的按键呢 这样当然也是可以的Qt可以识别键盘上的输入键盘上的数值早在系统的底层编好码了系统就可以识别这种编码。同理将开发板上的按键进行编码系统也就可以识别这种编码。只要两者对应起来就可以实现电脑测试效果与开发板测试效果一致。 本篇将会介绍在开发板中已经配置了#define KEY_VOLUMEDOWN 114的情况下同样使用电脑键盘在Qt中定义的“KEY_VOLUMEDOWN”枚举进行代替对应了键盘方向键↓仿真后将通用的代码拷贝到开发板中进行测试。 2. 出厂内核设备树中注册的按键 l.MX6U设备树路径为arch/arm/boot/dts/imx6ull-14x14-evk.dts STM32MP157设备树路径为arch/arm/boot/dts/stm32mp157datk.dts 对开发板上的按键进行编码系统就可以识别编码。下面应该就是l.MX6U板卡Linux源码的关于按键部分的内容-按键的驱动 对开发板上的按键进行编码键值设置为114也就是完成了编码。114是对应键盘中的哪个值呢 3. 如何看这个按键的键值对应键盘中的按键 键值宏定义是在linux/input.h头文件中 下图在Linux中按键的键值在键盘中是无法找到的此处配置的是比较特殊的“#define KEY_VOLUMEDOWN 114”KEY_VOLUMEDOWN也就是音量的加减键老的电脑键盘上可能可以找到现在的键盘都是用上下键来实现音量的加减等功能但是现在手机上还是有音量的加减键的这是因为手机的系统是安卓安卓的底层也是linux。 想要监测这个 KEY0首先正点原子的出厂内核已经默认将这个按键注册成了 gpio-keys 类型设备键值为 114 也就是对应 Qt 的 Key_VolumeDown 键值。 也就是说我们可以直接当这个按键是我们普通键盘的音量减键使用注意键值为 114 的按键比较特殊并不能直接在我们普通的键盘上找到有些笔记本电脑使用 FN F6 等组合直接代替了音量减键。 4. 程序开发 4.1 项目简介 我们在本例中使用 Key_Down键盘方向键↓在Windows/Ubuntu 上测试在开发板上还是使用 KEY0 按键测试。 在开发板监测这个 KEY0 有很多方法。 比如使用 C 语言开一个线程监测这个按键或者按本例重写键盘事件来监测 KEY0 按键按下或者松开。 项目简介 监测 KEY0 按键的按下和松开。 使用一个标签文本 通过按键按下来改变标签文本的文字属性。 4.2 mainwindow.h 1 #ifndef MAINWINDOW_H 2 #define MAINWINDOW_H 3 4 #include QMainWindow 5 #include QKeyEvent 6 #include QLabel 7 #include QDebug 8 #include QEvent 9 10 class MainWindow : public QMainWindow 11 { 12 Q_OBJECT 13 14 public: 15 MainWindow(QWidget *parent nullptr); 16 ~MainWindow(); 17 18 private: 19 /* 标签文本 */ 20 QLabel *label; 21 22 /* 重写按键事件 */ 23 void keyPressEvent(QKeyEvent *event); 24 void keyReleaseEvent(QKeyEvent *event); 25 }; 26 27 #endif // MAINWINDOW_H 第 23~24 行声明需要重写的按键事件类型。分别是按下事件和松开事件。通过重写这两个事件可以监测到键盘或 KEY0 按下的状态。 4.3 mainwindow.cpp #include mainwindow.h 2 #include QGuiApplication 3 #include QScreen 4 #include QRect 5 6 MainWindow::MainWindow(QWidget *parent) 7 : QMainWindow(parent) 8 { 9 /* 获取屏幕的分辨率 Qt 官方建议使用这 10 * 种方法获取屏幕分辨率防上多屏设备导致对应不上 11 * 注意这是获取整个桌面系统的分辨率 12 */ 13 QList QScreen * list_screen QGuiApplication::screens(); 14 15 /* 如果是 ARM 平台直接设置大小为屏幕的大小 */ 16 #if __arm__ 17 /* 重设大小 */ 18 this-resize(list_screen.at(0)-geometry().width(), 19 list_screen.at(0)-geometry().height()); 20 #else 21 /* 否则则设置主窗体大小为 800x480 */ 22 this-setGeometry(0, 0, 800, 480); 23 #endif 24 25 /* 标签实例化 */ 26 label new QLabel(this); 27 28 /* 设置默认文本 */ 29 #if __arm__ 30 label-setText(VolumeDown 松开状态); 31 #else 32 label-setText(Down 按键松开); 33 #endif 34 35 /* 设置对齐方式 */ 36 label-setAlignment(Qt::AlignCenter); 37 38 /* 居中显示 */ 39 setCentralWidget(label); 40 } 41 42 MainWindow::~MainWindow() 43 { 44 } 45 46 void MainWindow::keyPressEvent(QKeyEvent *event) 47 { 48 #if __arm__ 49 /* 判断按下的按键也就是板子 KEY0 按键 */ 50 if(event-key() Qt::Key_VolumeDown) { 51 /* 设置 label 的文本 */ 52 label-setText(VolumeDown 按键按下); 53 } 54 #else 55 /* 判断按下的按键也就是↓方向键 */ 56 if(event-key() Qt::Key_Down) { 57 /* 设置 label 的文本 */ 58 label-setText(Down 按键按下); 59 } 60 61 #endif 62 /* 保存默认事件 */ 63 QWidget::keyPressEvent(event); 64 } 65 66 void MainWindow::keyReleaseEvent(QKeyEvent *event) 67 { 68 #if __arm__ 69 /* 判断松开的按键也就是板子 KEY0 按键 */ 70 if(event-key() Qt::Key_VolumeDown) { 71 /* 设置 label 的文本 */ 72 label-setText(VolumeDown 按键松开); 73 } 74 #else 75 /* 判断按下的按键也就是↓方向键 */ 76 if(event-key() Qt::Key_Down) { 77 /* 设置 label 的文本 */ 78 label-setText(Down 按键松开); 79 } 80 #endif 81 /* 保存默认事件 */ 82 QWidget::keyReleaseEvent(event); 83 }第 9 行~23 行界面初始化设置在嵌入式里根据实际的屏的大小设置全屏显示。按钮居中显示。 第 46~83 行 重写按下事件和松开事件通过判断event-key()等哪个按键就可以知道是哪个按键按下或者松开了。 并设置了标签文本的属性。 4.4 程序运行效果 Ubuntu/Windows 上当焦点聚集到此应用程序窗口时按下方向键“↓”标签文本的值会改变为“Down 按键按下”当松开方向键“↓”标签的文本值会改变为默认状态“Down 按键松开”。 同理在开发板上按下 KEY0 键则会打印“VolumeDown 按键按下”松开 KEY0 键会打印“VolumeDown 按键松开”。 实际测试时代码不同只是使用对应的枚举来改变界面效果实际运行效果如下按钮按下后界面改变并会提示按键按下 对应地址Qt使用I.MX6U开发板上的按键
http://www.hkea.cn/news/14529750/

相关文章:

  • 建设网站前准备资料学校招标网站建设
  • 学生兼职网站开发课程网站建设规划
  • 网站禁止ping长沙装修公司招聘信息
  • 网站好坏怎么分析博山区住房和城乡建设局网站
  • 北京城市建设档案馆网站wordpress 搜索词
  • 外贸网站海外推广网页模版比较出名的网站
  • 网站APP注册做任务我做的电影网站为什么百度搜索不到
  • 网站建设需要备案网页界面设计的主要内容
  • 网站 建设文档百度云资源链接分享群组
  • 响应式网站用什么语言做网站的创始人
  • 学做网站怎么样汶上县建设局官方网站
  • 做ppt用什么网站交通局网站建设方案策划书
  • 广告费内包括网站建设北京企业建站服务中企
  • 设计的网站源代码怎么做南宁推广平台
  • 专业建设网站的企业用动易建设网站教程
  • 网站举报平台12315外国外贸论坛
  • 网站建设方案设计下载ps软件免费版2022
  • 局域网建设网站工具中文商城响应式html网站模板
  • 网站虚拟服务器苏州网站排名优化报价
  • 阿里巴巴网站建设免费淘宝网站的建设目的是什么
  • 线上做网站赚钱昆明百度网站建设
  • wordpress 订阅者温州网站优化推广方案
  • 网站开发都需要什么工作做网站用什么源码最好
  • dell公司网站设计特色东莞app下载
  • 3g微网站是什么品牌网站推广方案
  • 可以随意做配搭的网站asp.net网站项目
  • 郑州个人网站制作公司百度站长工具网站认证
  • 与小学生一起做网站为什么做企业网站
  • 网站开发需要用到哪些技术租服务器去哪里租
  • 广州市公司网站建设品牌江苏强荣建设有限公司网站