-
Notifications
You must be signed in to change notification settings - Fork 0
/
atom.xml
278 lines (278 loc) · 23.1 KB
/
atom.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<id>https://www.qtexe.com/</id>
<title>Qter</title>
<updated>2020-04-07T11:30:48.510Z</updated>
<generator>https://github.com/jpmonette/feed</generator>
<link rel="alternate" href="https://www.qtexe.com/"/>
<link rel="self" href="https://www.qtexe.com//atom.xml"/>
<subtitle>温故而知新</subtitle>
<logo>https://www.qtexe.com//images/avatar.png</logo>
<icon>https://www.qtexe.com//favicon.ico</icon>
<rights>All rights reserved 2020, Qter</rights>
<entry>
<title type="html"><![CDATA[基于Qt的新冠肺炎疫情数据实时监控平台1.1版本]]></title>
<id>https://www.qtexe.com//post/2020-02-15-qt-ncov-2</id>
<link href="https://www.qtexe.com//post/2020-02-15-qt-ncov-2">
</link>
<updated>2020-02-14T16:00:00.000Z</updated>
<content type="html"><![CDATA[<blockquote>
<p>宅家无聊,不如学点技术!</p>
</blockquote>
<h3 id="1前言">1.前言</h3>
<p>上一篇文章,介绍了使用<a href="https://www.qtexe.com/post/2020-02-14-qt-ncov/">基于Qt开发的新冠病毒肺炎疫情监控平台</a>的实现思路和简单过程,主要包括数据接口的获取和Qt的开发,这两天修复一些BUG,完善了部分功能,如下:</p>
<ul>
<li>新增辟谣信息详情显示界面,点击谣言标题弹出信息详情。</li>
<li>修复数据类型定义错误造成的折线显示错误的BUG</li>
<li>适配Linux,修改打开超链接函数</li>
</ul>
<figure data-type="image" tabindex="1"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/linux%E6%95%B4%E4%BD%93.png" alt=""></figure>
<h3 id="2bug修复">2.BUG修复</h3>
<p>今天早上打开一看,累计疑似/确诊折线变成了下面这样,</p>
<figure data-type="image" tabindex="2"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/%E8%B6%85%E5%87%BA%E6%95%B0%E6%8D%AE%E8%8C%83%E5%9B%B4%E4%BA%86.jpg" alt=""></figure>
<p>而腾讯新闻页面的是这样:</p>
<figure data-type="image" tabindex="3"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/%E8%85%BE%E8%AE%AF%E6%96%B0%E9%97%BB%E6%8A%98%E7%BA%BF%E5%9B%BE.png" alt=""></figure>
<p>很明显是纵轴的最大值设置错了,仔细观察2月14日的累计确诊病例是6万多,很明显是超过了数据16位整形的最大值65535,仔细一查代码,果然是设置成了uint16类型,改为32位的整形或者double类型就没问题了,如下:</p>
<figure data-type="image" tabindex="4"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/%E6%95%B0%E6%8D%AE%E6%AD%A3%E5%B8%B8.png" alt=""></figure>
<p>通过查找历史数据可以知道,2月13日的累计确诊人数是63932,2月14日的确诊人数是66576,刚好超过uint16_t数据类型运行的最大值65535。这也就之前的折线图都是正确的原因,因为还没超过最大值,这也提醒我们定义变量时,一定要考虑到数据允许的范围。</p>
<h3 id="3linux系统适配">3.Linux系统适配</h3>
<p>由于Qt的跨平台特性,只需要编写一套代码,然后在不同平台下的Qt环境中去编译,就可以生成运行在不同平台下的执行文件。我们来试试看这个小项目在Linux下的效果。当我尝试在Ubuntu环境下编译工程时,报错提示找不到头文件:</p>
<figure data-type="image" tabindex="5"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/windows%E6%8A%A5%E9%94%99.png" alt=""></figure>
<p>这也不奇怪,因为windows.h是Windows系统下的头文件,而Ubuntu肯定是没有的。程序中在打开超链接时,会调用这个windows.h中的一个ShellExecuteA函数:</p>
<pre><code>##include "windows.h"
............
void about::anchorClickedSlot(const QUrl& url)
{
QDesktopServices::openUrl(url);
// ShellExecuteA(NULL, "open", url.toString().toStdString().c_str(), "", "", SW_SHOW);
}
</code></pre>
<p>在网上搜索一番,有网友介绍说可以使用qt_windows.h,更改之后再次编译,还是报错,打开头文件一看,还是调用了<code>windows.h</code>文件:</p>
<figure data-type="image" tabindex="6"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/qt_win%E8%B0%83%E7%94%A8.jpg" alt=""></figure>
<p>还好,Qt原生的QDesktopServices类中有可以打开链接的函数,兼容Windows和Linux系统。</p>
<pre><code>#include <QDesktopServices>
............
void about::anchorClickedSlot(const QUrl& url)
{
QDesktopServices::openUrl(url);
// ShellExecuteA(NULL, "open", url.toString().toStdString().c_str(), "", "", SW_SHOW);
}
</code></pre>
<p>这个QDesktopServices类中,不仅可以调用默认浏览器打开链接,还可以打开文件夹,获取桌面、文档、图片等目录。</p>
<p>编译成功之后,在Linux下的运行界面:</p>
<figure data-type="image" tabindex="7"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/linux%E7%95%8C%E9%9D%A2.png" alt=""></figure>
<h3 id="4添加辟谣信息详情显示">4.添加辟谣信息详情显示</h3>
<p>在1.0版本程序中,查看辟谣信息的详情,可以通过点击谣言标题,然后调用默认浏览器打开这个链接,再去查看详细的信息,但是腾讯的这个信息界面是针对手机端设计的,PC上浏览效果并不好,如下:</p>
<figure data-type="image" tabindex="8"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E7%BD%91%E9%A1%B5%E7%AB%AF%E8%B0%A3%E8%A8%80%E4%BF%A1%E6%81%AF.jpg" alt=""></figure>
<p>手机端:</p>
<figure data-type="image" tabindex="9"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E6%89%8B%E6%9C%BA%E7%AB%AF%E8%B0%A3%E8%A8%80%E4%BF%A1%E6%81%AF.jpg" alt=""></figure>
<p>上一篇文章我们也介绍了,腾讯开放了一个接口,可以根据谣言的ID号,去获取谣言的详细信息,数据为JSON格式,但是上一个版本程序中并没有使用这个接口,这次我们把他用上。</p>
<p>如这条辟谣新闻:</p>
<ul>
<li>标题:阴雨天和大雾天会增加新冠病毒感染风险</li>
<li>ID:<strong>8be33c500e00257c97419ac24ab59d8f</strong></li>
</ul>
<p>我们访问这样一个地址:</p>
<p><code>https://vp.fact.qq.com/miniArtData?id=8be33c500e00257c97419ac24ab59d8f</code>,就会得到这条谣言新闻的JSON格式详细信息,如下:</p>
<figure data-type="image" tabindex="10"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E8%BE%9F%E8%B0%A3%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AFJSON.gif" alt="img"></figure>
<p>好了,有了接口返回的JSON数据,我们就可以直接解析使用了。</p>
<p>逻辑设计也很简单,在用户点击谣言标题时,弹出窗口,而这个窗口里显示的就是这条谣言的详细信息,如谣言鉴定信息,查证者及其机构,来源等等,返回之后再次点击其他标题,则显示对应的详细信息。</p>
<p>Qt实现也很简单,增加一个GET请求,保存返回的数据,然后解析,再增加一个窗口,把解析出来的数据显示出来。富文本的显示和之前一样,还是采用的HTML模板方式,原理类似printf格式化输出,这种富文本的显示方法目前还没有人使用过。</p>
<figure data-type="image" tabindex="11"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/20200215/%E6%96%B0%E5%A2%9E%E8%BE%9F%E8%B0%A3%E8%AF%A6%E6%83%85%E6%98%BE%E7%A4%BA.gif" alt=""></figure>
<h3 id="5开源地址">5.开源地址</h3>
<p>本项目Qt工程所有的代码和安装包下载地址已经开源在Github和Gitee上,现在已经更新到1.1版本,地址如下:</p>
<ul>
<li>国外GitHub: <code>https://github.com/whik/qt_2019_ncov</code></li>
<li>国内Gitee: <code>https://gitee.com/whik/qt_2019_ncov</code></li>
</ul>
<p>如果你已经关注了我的公众号(ID:<strong>mcu149</strong>),可以在后台回复:<strong>疫情监控</strong>,我会把最新版的Qt工程和安装包下载链接发送给你。</p>
<h3 id="关注我">关注我</h3>
<ul>
<li>我的公众号:<code>mcu149</code></li>
</ul>
<figure data-type="image" tabindex="12"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/%E6%B1%82%E5%85%B3%E6%B3%A8.jpg" alt=""></figure>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[基于Qt的新冠肺炎疫情数据实时监控平台(开源小项目)]]></title>
<id>https://www.qtexe.com//post/2020-02-14-qt-ncov</id>
<link href="https://www.qtexe.com//post/2020-02-14-qt-ncov">
</link>
<updated>2020-02-13T16:00:00.000Z</updated>
<content type="html"><![CDATA[<blockquote>
<p>宅家无聊,不如学点技术!</p>
</blockquote>
<h3 id="1前言">1.前言</h3>
<p>最近新冠病毒导致的肺炎疫情,很多人都只能宅在家里。为了不让自己那么无聊,给自己找点事情,做一个<strong>疫情数据信息实时监控项目</strong>,去年开始学习的Qt/C++,拿这个小项目练练手吧。当然如果你也和我一样,建议你使用熟悉的编程语言自己实现一下,即学习了知识,又打发了时间。在做之前我先去Github上搜索了一下,看看有没有相关资料,看来已经有很多人在做了:</p>
<figure data-type="image" tabindex="1"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/1_github%E6%90%9C%E7%B4%A2%E7%BB%93%E6%9E%9C.jpg" alt=""></figure>
<p>不过大多都是基于JavaScript或Python的项目,使用Qt/C++平台开发的还没有。</p>
<h3 id="2主要功能">2.主要功能</h3>
<p>界面也很简单,主要包括实时数据和历史数据的显示,实时疫情动态信息的显示,辟谣信息的展示。数据来自腾讯新闻,UI设计参考了腾讯新闻的界面。</p>
<figure data-type="image" tabindex="2"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/1_%E4%B8%BB%E7%95%8C%E9%9D%A2.jpg" alt=""></figure>
<p>一共使用了两个数据接口,来自腾讯新闻,一个是包括实时数据、历史数据和疫情动态的接口,一个是包含辟谣信息的接口。</p>
<p>功能也很简单:</p>
<ul>
<li>全国疫情数据实时显示</li>
<li>历史疫情数据趋势折线图显示</li>
<li>各省市和海外疫情数据树形显示</li>
<li>最新疫情新闻动态显示</li>
<li>最新辟谣信息展示</li>
<li>手动和自动更新(每5分钟)</li>
</ul>
<figure data-type="image" tabindex="3"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/%E6%95%B4%E4%BD%93%E5%8A%A8%E6%80%81.gif" alt=""></figure>
<h3 id="3获取数据接口">3.获取数据接口</h3>
<p>现在,各大网站都发布了自己的实时疫情显示平台,如丁香园、腾讯、新浪、百度、知乎、网易等等,包括个人开发者也开发了一些接口,数据都是来自国家或各地卫健委发布的信息。</p>
<ul>
<li>丁香园: <code>https://ncov.dxy.cn/ncovh5/view/pneumonia</code></li>
<li>腾讯:<code>https://news.qq.com/zt2020/page/feiyan.htm</code></li>
<li>新浪:<code>https://news.sina.cn/zt_d/yiqing0121</code></li>
<li>百度: <code>https://voice.baidu.com/act/newpneumonia/newpneumonia</code></li>
<li>知乎: <code>https://www.zhihu.com/special/19681091</code></li>
<li>网易: <code>https://news.163.com/special/epidemic/</code></li>
</ul>
<p>我使用的是腾讯数据源,数据为JSON格式, 也很容易解析。下面我以Chrome浏览器为例,演示如何获取腾讯数据接口的地址。</p>
<p>打开链接之后,按F12,切换到开发者模式。再次刷新网页,切换到Network,按Ctrl+F搜索当前全国确诊的人数:44765,然后回车,可以看到这个数据包含在一个JSON字符串中,而这个字符串是某一个请求地址返回的数据,而这个地址,就是数据的接口地址。</p>
<figure data-type="image" tabindex="4"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E8%8E%B7%E5%8F%96%E8%85%BE%E8%AE%AF%E7%96%AB%E6%83%85%E6%95%B0%E6%8D%AE%E6%8E%A5%E5%8F%A3.jpg" alt=""></figure>
<p>为了证实这个接口是正确的,我们复制这个地址,然后在地址栏输入回车,可以看到返回了一大堆字符串:</p>
<figure data-type="image" tabindex="5"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E8%AE%BF%E9%97%AE%E8%85%BE%E8%AE%AF%E6%8E%A5%E5%8F%A3.jpg" alt=""></figure>
<p>说明我们的地址找对了。完整的地址:</p>
<p><code>https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5&callback=jQuery34109263209025042043_1581518730600&_=1581518730601</code></p>
<p>其中:</p>
<ul>
<li><code>callback=jQuery34....00</code>参数是指定的回调函数名,可省略。</li>
<li><code>_=1581518730601</code>是时间戳,可用于查询历史数据,可省略。</li>
</ul>
<blockquote>
<p>时间戳是指格林威治时间1970年01月01日00时00分00秒(北京时间1970年01月01日08时00分00秒)起至现在的总毫秒数。</p>
</blockquote>
<p>所以,如果想获取最新数据,以上两个参数可省略:<br>
<code>https://view.inews.qq.com/g2/getOnsInfo?name=disease_h5</code></p>
<p>如果想获取历史数据,只需要修改时间戳即可,其他网站的接口地址获取方式也大同小异。</p>
<p>这里我们只使用腾讯新闻的接口就够了,保存JSON文件,并格式化处理,可以看到包括的信息:</p>
<figure data-type="image" tabindex="6"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_JSON%E6%A0%BC%E5%BC%8F.jpg" alt=""></figure>
<p>对于腾讯的这个数据,不得不多说一句,最近几天腾讯的JSON数据更新了好几次:</p>
<ul>
<li>感染人数键值从string类型改为了int</li>
<li>添加了病死率</li>
<li>添加了湖北内外疫情数据历史</li>
<li>添加了实时动态新闻</li>
</ul>
<p>JSON数据文件的大小也从最开始的80KB到现在的160KB左右了。</p>
<p>对于谣言信息,腾讯是放在了另外两个接口,一个是查询最新的辟谣信息,一个是获取一条辟谣信息的详细内容。同理,和上面的数据接口地址获取的方法一样,我们可以获取到这两个地址。</p>
<p>查询最新的辟谣信息的地址:</p>
<p><code>https://vp.fact.qq.com/loadmore?page=0&callback=jQuery34109263209025042043_1581518730600&_=1581518730603</code></p>
<p>参数和数据接口一样,函数名和时间戳可省略:<code>https://vp.fact.qq.com/loadmore?page=0</code></p>
<ul>
<li>page=0表示获取辟谣信息的页数,=0表示最新的辟谣信息,发布时间为今天或者昨天,=1表示发布时间为昨天或前天的,以此类推。</li>
</ul>
<p>JSON文件格式:</p>
<figure data-type="image" tabindex="7"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E8%BE%9F%E8%B0%A3%E5%88%97%E8%A1%A8.gif" alt=""></figure>
<p>在这个接口里,包含最新的10条辟谣信息,每条辟谣信息中包括标题,发布者,发布时间,图片地址,谣言类型,谣言id等。通过另一个接口,我们可以查询某一条辟谣新闻的详细信息。</p>
<p>如这条辟谣新闻:</p>
<ul>
<li>标题:阴雨天和大雾天会增加新冠病毒感染风险</li>
<li>ID:8be33c500e00257c97419ac24ab59d8f</li>
</ul>
<p>我们访问这样一个地址: <code>https://vp.fact.qq.com/miniArtData?id=8be33c500e00257c97419ac24ab59d8f</code> ,就会得到这条谣言新闻的JSON格式详细信息,如下:</p>
<figure data-type="image" tabindex="8"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E8%BE%9F%E8%B0%A3%E8%AF%A6%E7%BB%86%E4%BF%A1%E6%81%AFJSON.gif" alt=""></figure>
<p>这个接口在我们实际开发中并没有使用,而是直接调用浏览器去打开这个地址的网页地址:</p>
<p><code>https://vp.fact.qq.com/article?id=8be33c500e00257c97419ac24ab59d8f</code> ,不过这个界面是针对手机端的,电脑端的浏览效果并不好:</p>
<figure data-type="image" tabindex="9"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E7%BD%91%E9%A1%B5%E7%AB%AF%E8%B0%A3%E8%A8%80%E4%BF%A1%E6%81%AF.jpg" alt=""></figure>
<p>手机端:</p>
<figure data-type="image" tabindex="10"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/3_%E6%89%8B%E6%9C%BA%E7%AB%AF%E8%B0%A3%E8%A8%80%E4%BF%A1%E6%81%AF.jpg" alt=""></figure>
<h3 id="4qt实现">4.Qt实现</h3>
<p>主要涉及到的Qt知识如下:</p>
<ul>
<li>QCustomPlot绘图库的使用</li>
<li>HTTP协议发送GET请求</li>
<li>JSON数据解析</li>
<li>文件的本地保存和读取</li>
<li>文本浏览器使用 HTML模板显示富文本</li>
<li>数据的树形结构展示</li>
<li>基本的信号与槽特性</li>
</ul>
<p>QCustomplot绘图:</p>
<figure data-type="image" tabindex="11"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/5_%E6%8C%89%E9%92%AE%E9%80%89%E6%8B%A9%E6%9B%B2%E7%BA%BF.jpg" alt=""></figure>
<p>辟谣信息显示:</p>
<figure data-type="image" tabindex="12"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/2_%E8%BE%9F%E8%B0%A3%E4%BF%A1%E6%81%AF%E5%8A%A8%E6%80%81.gif" alt=""></figure>
<h3 id="5主要难点">5.主要难点</h3>
<p>整个开发的过程,就是解决一个一个问题的过程,很多控件都是第一次使用,好在资料很多,主要难点如下:</p>
<ul>
<li>QCustomPlot绘图,刻度为文本格式</li>
<li>各省市和海外疫情数据的树形结构显示</li>
<li>点击不同的按钮,切换显示不同的数据折线</li>
<li>鼠标在折线上悬停,显示具体的日期和人数</li>
<li>QTextBrower显示富文本,通过自定义HTML模板,实现类似格式化生成HTML的效果。</li>
</ul>
<p>历史数据折线图显示:</p>
<figure data-type="image" tabindex="13"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/2_%E5%8E%86%E5%8F%B2%E6%95%B0%E6%8D%AE%E6%8A%98%E7%BA%BF%E5%9B%BE%E5%8A%A8%E6%80%81.gif" alt=""></figure>
<p>实时疫情新闻显示:</p>
<figure data-type="image" tabindex="14"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/2_%E7%96%AB%E6%83%85%E6%96%B0%E9%97%BB%E5%8A%A8%E6%80%81.gif" alt=""></figure>
<p>实时辟谣信息显示:</p>
<figure data-type="image" tabindex="15"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/qt_2019_ncov/2_%E8%BE%9F%E8%B0%A3%E4%BF%A1%E6%81%AF%E5%8A%A8%E6%80%81.gif" alt=""></figure>
<h3 id="6打包发布">6.打包发布</h3>
<p>为了让没有安装Qt环境的用户也能用上我们开发的Qt程序,我们需要对生成的程序文件进行打包和发布,首先使用Qt自带的<code>windeploy filename.exe</code>命令,添加运行这个程序所需要的所有组件,然后使用程序打包软件把这个文件打包成一个<code>setup.exe</code>安装文件,用于在别的电脑上安装,或者是打包成一个绿色版软件,直接双击运行,我使用以下两个软件进行打包。</p>
<ul>
<li>Inno Setup:可以打包成安装软件,可自定义安装信息。</li>
<li>Enigma Virtual Box:可以打包成一个exe软件,无需安装,直接双击运行。</li>
</ul>
<h3 id="7开源地址">7.开源地址</h3>
<p>本项目Qt工程所有的代码和安装包下载地址,我都已经开源,如下:</p>
<ul>
<li>国外GitHub: <code>https://github.com/whik/qt_2019_ncov</code></li>
<li>国内Gitee: <code>https://gitee.com/whik/qt_2019_ncov</code></li>
</ul>
<p>如果你已经关注了我的公众号(ID:mcu149),可以在后台回复:<strong>疫情监控</strong>,我会把Qt工程发送给你。</p>
<h3 id="8总结">8.总结</h3>
<p>总体来说,这个小项目使用到的Qt知识都是基础的,可以适合作为练手项目。还是有很多值得优化的地方:</p>
<ul>
<li>添加一个窗口,用于显示辟谣新闻的详细信息,增加一个接口</li>
<li>网络不稳定会出现卡死现象</li>
<li>JSON字符串不输出到文件,直接保存在QString变量处理</li>
<li>代码优化,部分功能合成一个函数</li>
</ul>
<h3 id="9最后">9.最后</h3>
<p>虽然现在疫情有所缓解,但我们还是不要掉以轻心,好好宅家,趁着有时间,不如多陪陪家人,看几本书,看几部经典电影。专业的事交给专业的人去做,而我们只需要做好我们自己应该做的即可。</p>
<blockquote>
<p>钟南山:我们已经采取强力的措施,特别是早发现、早隔离,这两条做到了,我们有足够的信心防止大爆发或者重新大爆发。</p>
</blockquote>
<h3 id="关注我">关注我</h3>
<ul>
<li>我的公众号:<code>mcu149</code></li>
</ul>
<figure data-type="image" tabindex="16"><img src="https://wcc-blog.oss-cn-beijing.aliyuncs.com/img/%E6%B1%82%E5%85%B3%E6%B3%A8.jpg" alt=""></figure>
]]></content>
</entry>
<entry>
<title type="html"><![CDATA[Hello Gridea]]></title>
<id>https://www.qtexe.com//post/hello-gridea</id>
<link href="https://www.qtexe.com//post/hello-gridea">
</link>
<updated>2018-12-11T16:00:00.000Z</updated>
<summary type="html"><![CDATA[<p>👏 欢迎使用 <strong>Gridea</strong> !<br>
✍️ <strong>Gridea</strong> 一个静态博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记、创意... ...</p>
]]></summary>
<content type="html"><![CDATA[<p>👏 欢迎使用 <strong>Gridea</strong> !<br>
✍️ <strong>Gridea</strong> 一个静态博客写作客户端。你可以用它来记录你的生活、心情、知识、笔记、创意... ...</p>
<!-- more -->
<p><a href="https://github.com/getgridea/gridea">Github</a><br>
<a href="https://gridea.dev/">Gridea 主页</a><br>
<a href="http://fehey.com/">示例网站</a></p>
<h2 id="特性">特性👇</h2>
<p>📝 你可以使用最酷的 <strong>Markdown</strong> 语法,进行快速创作</p>
<p>🌉 你可以给文章配上精美的封面图和在文章任意位置插入图片</p>
<p>🏷️ 你可以对文章进行标签分组</p>
<p>📋 你可以自定义菜单,甚至可以创建外部链接菜单</p>
<p>💻 你可以在 <strong>Windows</strong>,<strong>MacOS</strong> 或 <strong>Linux</strong> 设备上使用此客户端</p>
<p>🌎 你可以使用 <strong>𝖦𝗂𝗍𝗁𝗎𝖻 𝖯𝖺𝗀𝖾𝗌</strong> 或 <strong>Coding Pages</strong> 向世界展示,未来将支持更多平台</p>
<p>💬 你可以进行简单的配置,接入 <a href="https://github.com/gitalk/gitalk">Gitalk</a> 或 <a href="https://github.com/SukkaW/DisqusJS">DisqusJS</a> 评论系统</p>
<p>🇬🇧 你可以使用<strong>中文简体</strong>或<strong>英语</strong></p>
<p>🌁 你可以任意使用应用内默认主题或任意第三方主题,强大的主题自定义能力</p>
<p>🖥 你可以自定义源文件夹,利用 OneDrive、百度网盘、iCloud、Dropbox 等进行多设备同步</p>
<p>🌱 当然 <strong>Gridea</strong> 还很年轻,有很多不足,但请相信,它会不停向前 🏃</p>
<p>未来,它一定会成为你离不开的伙伴</p>
<p>尽情发挥你的才华吧!</p>
<p>😘 Enjoy~</p>
]]></content>
</entry>
</feed>