<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[Jay_OneSC_30的博客]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/Jay_OneSC_30</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; Jay_OneSC_30]]></copyright><item><title><![CDATA[项目日志：Day30 --- 2020.9.11]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108538536</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108538536</guid><author>Jay_OneSC_30</author><pubDate>Fri, 11 Sep 2020 23:52:48 +0800</pubDate><description><![CDATA[任务：

 空按 OK 键处理；
 解决各种小 BUG；


上午
上午去深圳看了一下国际电子展

5G 在工业上的应用已经这么熟练了吗，很多智能设备以及工业物联网都打着 5G 的旗号了；
果然我们这还是小乡村呀，乡下人进城；

下午
解决一下 OK 键问题；

用一个标志位bool isOk = false; //判断是否输入了数值，以防止空按 OK 键；判断是否空按 OK 键；而且空按后要仍然触控该位置继续输入状态，所以输入判断中要保留当前触控位置；这里我把计算函数加了个参数，方便使用（加参确实好用很多]]></description><category></category></item><item><title><![CDATA[项目日志：Day29 --- 2020.9.10]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108507562</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108507562</guid><author>Jay_OneSC_30</author><pubDate>Thu, 10 Sep 2020 23:15:23 +0800</pubDate><description><![CDATA[任务：
衔接昨天遗留下的诸多问题；

上午
昨天下班前在论坛上问了录入状态的判断问题，今天的回复是这样的：

也就是说，我可以设置加载的数据，根据数据地址中的值来判断是否处于输入状态；
但这样就需要逐一判断了呀，一共 72 个地址，这判断就有点儿慢；
昨天回家路上想到了另一个方法，真就不用键盘，光标用图标，利用一个图标变量，这样点击的时候，就能知道地址了，数据输入的话，不用键盘的模拟触控，而用一个 ans 记录按键，当扫描到按键，ans * 10 + key，每次一轮扫描的结束都将 ans 传过去，OK 键]]></description><category></category></item><item><title><![CDATA[项目日志：Day28 --- 2020.9.9]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108441818</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108441818</guid><author>Jay_OneSC_30</author><pubDate>Wed, 09 Sep 2020 22:54:39 +0800</pubDate><description><![CDATA[任务：
现在的要求是无键盘，也就是说只用按键去输入；
还有就是按了确认键以后，自动跳到下个输入；

上午
现在有个办法，就是我把键盘做的足够小，然后模拟精准触控，只用一块底色就好，这样也不会误触；
逐格跳的话，可以尝试先将触摸的数据上传，得到地址，再模拟触控下一个地址上的录入控件；这样就要设置自动上传了；

...]]></description><category></category></item><item><title><![CDATA[项目日志：Day27 --- 2020.9.5]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108397423</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108397423</guid><author>Jay_OneSC_30</author><pubDate>Sat, 05 Sep 2020 22:52:06 +0800</pubDate><description><![CDATA[任务：
1. 主界面的改动；
2. 尝试模拟滑动操作；

上午
魔改成功：

这样键盘加在右下角，模拟触控就不会有问题了；


]]></description><category></category></item><item><title><![CDATA[C++ Develop 13 --- 2020.9.4]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108405432</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108405432</guid><author>Jay_OneSC_30</author><pubDate>Fri, 04 Sep 2020 21:36:16 +0800</pubDate><description><![CDATA[记录开发

目录13. 翻硬币小游戏5. 核心关卡设计6. 实现金币翻转

13. 翻硬币小游戏
5. 核心关卡设计

首先创建金币类 MyCoin，仍是继承于 QPushButton 类，因为与之前 MyPushButton 功能不同，故重新构造；

//MyCoin.h
#ifndef MYCOIN_H
#define MYCOIN_H

#include &lt;QPushButton&gt;

class MyCoin : public QPushButton
{
    Q_OBJECT
publ]]></description><category></category></item><item><title><![CDATA[项目日志：Day26 --- 2020.9.3]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108374802</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108374802</guid><author>Jay_OneSC_30</author><pubDate>Thu, 03 Sep 2020 23:41:29 +0800</pubDate><description><![CDATA[任务：
1. 按键板的模拟触控调通（一个调通，后面的都好调）；
2. 界面上下滑动；

首先把 ST-LINK 接好，尾部接端子口；
我笑了，电胶布没了…
这时候京东就是救命了，下午就到；
借了一个 ST-LINK 用 Keil 调试一下；
能够模拟触控，但是第二次数据自动上传接收不到，地址应该是 0x5001，但仿真里还是 0x5000，缓冲数组里的值也是 50，00；
为何第二次接收不到呢；
初步判断丢包了，可能第二次数据返回时没有进入中断；
设置一个 times，每次进入中断时计数加 1；
第一次返回]]></description><category></category></item><item><title><![CDATA[C++ Develop 12 --- 2020.9.3]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108384426</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108384426</guid><author>Jay_OneSC_30</author><pubDate>Thu, 03 Sep 2020 23:38:29 +0800</pubDate><description><![CDATA[记录开发

目录13. 翻硬币小游戏3. 关卡选择4. 游戏关卡场景

13. 翻硬币小游戏
3. 关卡选择

首先要添加新的类，命名为 ChooseLevelScene，即关卡选择，然后新建并维护一个该对象 chooseScene；chooseScene = new ChooseLevelScene;，随后要隐藏原窗口，显示新窗口；

QTimer::singleShot(500, this,[=](){
	this-&gt;hide();
	chooseScene-&gt;show();
});


上]]></description><category></category></item><item><title><![CDATA[C++ Develop 11 --- 2020.9.2]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108362032</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108362032</guid><author>Jay_OneSC_30</author><pubDate>Wed, 02 Sep 2020 20:11:31 +0800</pubDate><description><![CDATA[记录开发

目录12. 文件1. 实现功能2. 读取文件信息13. 翻硬币小游戏1. 菜单栏以及背景图2. 创建新的按钮类

12. 文件
1. 实现功能

点击文件选取按钮，实现文件的选择及打印；



用 Lambda 表达式来实现按钮的连接，不是太难

 connect(ui-&gt;pushButton,&amp;QPushButton::clicked,[=](){

        QFileDialog::getOpenFileName(this,"打开文件","C:\\Users\\zhan]]></description><category></category></item><item><title><![CDATA[项目日志：Day25 --- 2020.9.1]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108345433</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108345433</guid><author>Jay_OneSC_30</author><pubDate>Tue, 01 Sep 2020 23:07:08 +0800</pubDate><description><![CDATA[任务：
1. 按主界面样式设计一个调试界面；
2. 测试外部按键触控；

上午
做了主界面，完全的工业风…
我的审美被限制了；

关于按键的输入问题，现在确实是只能做模拟；但没有仿真器没办法调试，买了一个明天到；
下午
现在有个新问题，下拉页面；
迪文屏给的功能只有图标页面平移，也就是说，用来平移的页面只能添加基础触控，而没有显示触控或者录入，也就是滑动后的页面不能做数据输入；
现在想到的办法是，建立一个大数组，存储所有的数据，由于显示控件是不能移动的，所有只能做数据更新；
我们只显示 90 - 100 的]]></description><category></category></item><item><title><![CDATA[项目日志：Day24 --- 2020.8.31]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108316746</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108316746</guid><author>Jay_OneSC_30</author><pubDate>Mon, 31 Aug 2020 23:20:48 +0800</pubDate><description><![CDATA[任务：
1. 按键与屏的互通；
–
这应该是一个很难解决的问题，对于 K600+ 的屏而言，可以用键控功能将外部按键与虚拟键盘连接，而 T5L 的屏只能用模拟触控的方式来实现外部按键模拟；
看到一个帖子是将虚拟键盘的坐标定义在屏幕以外，这样的话当在别的页是该坐标是不存在的；

好像并没有坐标定义，但思来想去也只有这种方法能防触控，T5L 屏又不具备键控功能；
可以将按键和页面关联起来，当切换到该页面时，扫描到该按键才能发信号；

我透了，放了两天，串口又出问题，莫名其妙，发数据 1 会显示 292，尼玛；
]]></description><category></category></item><item><title><![CDATA[项目日志：Day23 --- 2020.8.27 / 28]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108253845</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108253845</guid><author>Jay_OneSC_30</author><pubDate>Fri, 28 Aug 2020 23:27:41 +0800</pubDate><description><![CDATA[任务：
1. 调按键板驱动板和屏的连通；

问题 1：程序烧进去后蜂鸣器一直响；
初步判断为按键板上有个按键短路，用软件仿真再退出，程序卡在循环：while(!INT_H_KEY4);里，也就是说按键 INT_H_KEY4 短路；
问题 2：屏收不到串口发送的数据；
初步判断是串口初始化函数的问题，仔细检查了代码，和网上的做对比，修改了一些细节，应该是没有什么问题；
代码如下：
void uart_init(u32 bound)
{
	GPIO_InitTypeDef GPIO_InitStructure;]]></description><category></category></item><item><title><![CDATA[C++ Develop 10 --- 2020.8.28]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108279893</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108279893</guid><author>Jay_OneSC_30</author><pubDate>Fri, 28 Aug 2020 19:29:57 +0800</pubDate><description><![CDATA[记录开发

目录11. 鼠标事件12. 定时器

11. 鼠标事件
带有 Event 的则表示 Qt 当中的一些事件，比如 enterEvent 和 leaveEvent，分别表示进入事件和离开事件，且可重载；
例如在 Label 中进行鼠标事件的重载，来打印一些信息，则新建 myLabel 类，继承于 QLabel，再重载：
    //鼠标进入事件
    void enterEvent(QEvent *event);

    //鼠标离开事件
    void leaveEvent(QEvent *]]></description><category></category></item><item><title><![CDATA[C++ Develop 9 --- 2020.8.27]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108265352</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108265352</guid><author>Jay_OneSC_30</author><pubDate>Thu, 27 Aug 2020 23:47:18 +0800</pubDate><description><![CDATA[记录开发

目录10. 自定义控件

10. 自定义控件
第一步：添加新的 UI 设计界面；

在这个新界面里封装组合控件，如下图：

这只是一个小控件，回到初始的 Widget 中，添加一个 QWidget 控件，然后右键选中提升为，将新部件名填入；

选中全局包含还可以记录下来，方便下次使用；
其他的就是两个子控件之间的信号连接；
代码如下：
smallwidget.cpp
#include "smallwidget.h"
#include "ui_smallwidget.h"

SmallWidget]]></description><category></category></item><item><title><![CDATA[C++ Develop 8 --- 2020.8.25]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108228781</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108228781</guid><author>Jay_OneSC_30</author><pubDate>Tue, 25 Aug 2020 21:07:07 +0800</pubDate><description><![CDATA[记录开发

目录9. UI 基本控件

七夕快乐~

9. UI 基本控件
今天内容有点多，把 ui 上的控件基本上都学完了；
直接把老师的笔记贴过来，没有什么难的东西，都是应用和一些需要注意的细节；



代码如下：
Qt_Control：
#include "widget.h"
#include "ui_widget.h"
#include &lt;QDebug&gt;
Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new U]]></description><category></category></item><item><title><![CDATA[C++ Develop 7 --- 2020.8.24]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108201845</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108201845</guid><author>Jay_OneSC_30</author><pubDate>Mon, 24 Aug 2020 22:37:53 +0800</pubDate><description><![CDATA[记录开发

目录8. QtSource9. 对话框

8. QtSource
用 UI 去做的话十分快捷，直接用控件拖拽即可：

注意新添加的话要用英文，若要显示中文则需要去改 text 的值；

图片资源的添加：
添加新文件，选择 Qt -&gt; Qt Resource File

之后将图片库文件放入项目的根目录，再在编辑器中添加；

这样使用图片就不需要用绝对路径，而可以用": + 前缀名 + 文件名"；
9. 对话框
一些常用的模态对话框，比如错误，消息，问题，警告等：

参数解释：参数1  父亲]]></description><category></category></item><item><title><![CDATA[C++ Develop 6 --- 2020.8.22]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108170003</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108170003</guid><author>Jay_OneSC_30</author><pubDate>Sat, 22 Aug 2020 23:02:19 +0800</pubDate><description><![CDATA[记录开发

目录

随便用学的窗口知识写了个搞怪的程序，但问题是它体积很大；
加载的 .dll 文件几百 MB，很奇怪，这只是一个简单的程序；
打包压缩的话也是有 200+ MB；
我感觉应该有小一点的库可以用；

#include "mainwindow.h"
#include &lt;QMenuBar&gt;
#include &lt;QToolBar&gt;
#include &lt;QDebug&gt;
#include &lt;QPushButton&gt;
#include &lt;QStatu]]></description><category></category></item><item><title><![CDATA[项目日志：Day22 --- 2020.8.21]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108120587</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108120587</guid><author>Jay_OneSC_30</author><pubDate>Fri, 21 Aug 2020 23:02:43 +0800</pubDate><description><![CDATA[任务：
1. 芯片选型

第三个项目的芯片的采样频率太慢了，当冲床快起来后采点数太少，定位不到最低点；
ADS / ADC 芯片的选型规格，分辨率至少要在 18，速率要在 100ksps；
看到了一篇有关 ADC 芯片的介绍：一文看懂ADC芯片，国产如何突围？；
Ti 的芯片确实太贵了，只能先看看国产的芯片；

...]]></description><category></category></item><item><title><![CDATA[C++ Develop 5 --- 2020.8.21]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108150091</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108150091</guid><author>Jay_OneSC_30</author><pubDate>Fri, 21 Aug 2020 23:02:23 +0800</pubDate><description><![CDATA[记录开发

目录6. Lambda 表达式

6. Lambda 表达式
以前学 C++ 的时候没有接触过 Lambda 表达式；
先看一下用法：



mutable 只是一个修饰符，加上后可以修改拷贝值；
默认情况下参数是只读状态；

返回值例子：
int ret = []()-&gt;int {return 1000;}();	//后面的括号表示函数的实现；
qDebug() &lt;&lt; "ret = " &lt;&lt; ret;

应用：利用 Lambda 表达式，实现点击按钮，关闭窗口，且]]></description><category></category></item><item><title><![CDATA[C++ Develop 4 --- 2020.8.19]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108101752</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108101752</guid><author>Jay_OneSC_30</author><pubDate>Wed, 19 Aug 2020 23:29:13 +0800</pubDate><description><![CDATA[记录开发

前言：
昨天学习到信号与槽，今天先把这部分内容补全；

目录5. 信号与槽（2）

5. 信号与槽（2）
查找 QtAssistant，发现 QPushButton 中的信号 signal 全是继承于父类；

点击 QAbstractButton 类，其 signal 有以下几种：

分别表示点击，按压，释放，切换，而现在我们按钮所要实现的功能是关闭窗口，故只需要信号 clicked 即可；
而信号的接收者应该是窗口，也即 QWidget 类，在助手中列出了一个 public slots，即公共]]></description><category></category></item><item><title><![CDATA[C++ Develop 3 --- 2020.8.18]]></title><link>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108072483</link><guid>https://blog.youkuaiyun.com/Jay_OneSC_30/article/details/108072483</guid><author>Jay_OneSC_30</author><pubDate>Tue, 18 Aug 2020 22:27:15 +0800</pubDate><description><![CDATA[记录开发

前言：
昨天的代码跑出来的是一个空白的窗口；
效果如下：

今天就要往窗口内加内容；

目录1. 工程文件解释2. .h文件解释3. 创建按钮4. 对象树析构问题5. 信号与槽

1. 工程文件解释
QT       += core gui   //Qt包含的模块

greaterThan(QT_MAJOR_VERSION, 4): QT += widgets  //大于4版本以上 包含 widget模块

TARGET = 01_FirstProject  //目标   生成的.exe程序的名]]></description><category></category></item></channel></rss>