2021-03-21 15:37:30 +08:00
# Qt 技术研究说明
目前星火的Qt开发技术太薄弱了, 需要积累相关的技术, 才能开发出更优质的客户端出来。
学习Qt相关的书, 网络上Qt的系列教程, 研究开源的Qt程序。
分析学习DTK源码和深入学习Qt。
暂时我还没有一个清晰的目标,我希望后续能够指定一个规划,来攻克技术难点,持续学习、开发。
开发Linux桌面应用, 是一件非常有意思的事情, 哈哈, 能够满足我的情趣, 也能学到技术, 交到朋友。
学好这些, 真正有技术实力的人, 找工作就是小case了, 哈哈。
**要研究的技术点**
* [ ] 如何自定义绘制控件, DTK的很多控件都是自定义绘制的, 真心漂亮, 得学到手。
* [ ] Linux 如何做到静默安装, 申请一次权限, 后续下载成功后直接安装, 能像Deepin商店那样静默安装就更好了。
* [ ] Linux 应用开发的相关技术, DBus事件通信
* [ ] 离线缓存应用, 把客户端需要的数据一次性下载到本地sqlite里, 只有在数据有更新的时候才重新下载。
* [ ] QML桌面应用开发
* [ ] 多线程应用,线程池、线程暂停恢复、任务队列,看看怎么来封装一个完善的出来,之前研究好久我没咋搞懂。
**Qt/C++书籍攻读**
* [ ] Qt高级编程 Advance Qt Programming Creating Great Software with C++ and Qt4
* [ ] C++ GUI Qt4 编程 C++ GUI Programming with Qt 4
* [ ] Rapid GUI Programming with Python And Qt
* [ ] Qt5 C++ GUI Programming Cookbook
* [ ] Qt5 Blueprints
* [ ] Mastering Qt5
* [ ] Learn Qt 5
* [ ] Hands-On GUI Programming with C++ and Qt5
* [ ] C++ 并发编程实战
* [ ] Qt中的C++技术
* [ ] Linux与Qt程序设计
* [ ] C++ Qt 设计模式
* [ ] Qt及Linux操作系统窗口设计
**开源Qt程序研究**
* [ ] An app store for DDE built with DTK https://github.com/dekzi/dde-store
* [ ] PyQt Examples https://github.com/PyQt5/PyQt
* [ ] pyqt + qt quick qml 工具集 https://github.com/lzx8589561/ZTool
* [ ] Some useful apps based on PyQt5 https://github.com/taseikyo/PyQt5-Apps
* [ ] TurtleBrowser is intended to become a full featured browser https://github.com/turtlebrowser/turtlebrowser
* [ ] 【Qt】【C++】五子棋游戏,游戏双方联网对战。(服务器+客户端) https://github.com/Leopard-C/Gobang
**进阶Qt/C++技术点**
* [ ] Qt 上位机程序开发
* [ ] OpenCV 计算机视觉 识别图像
* [ ] C++ 音视频编码,这个很高端,做直播有用到
* [ ] Socket TCP/IP 网络通信,做即时通讯很有用处
2020-10-24 14:43:01 +08:00
# 星火开发组Qt Demo
放一些大家写的Demo, 方便参考学习和测试。
## QPushButton 图标左对齐文字剧中
[QProxyStyleTest ](./QProxyStyleTest/ ) 参考以下的内容
* qpushbutton icon left alignment text center alignment 「Python实现的代码很简洁」https://stackoverflow.com/questions/56129402/qpushbutton-icon-left-alignment-text-center-alignment
* QPushButton icon aligned left with text centered 「第二个回答就是,但是好复杂唉」 https://stackoverflow.com/questions/44091339/qpushbutton-icon-aligned-left-with-text-centered
![](./QProxyStyleTest/screenshot.png)
2020-10-25 20:03:47 +08:00
## 多线程下载
[MultiplethreadDownload ](./MultiplethreadDownload/ )
测试视频下载地址 https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
2020-10-25 22:22:39 +08:00
多线程下如何更新下载进度的问题, 还没解决。可以需要将线程任务单独拆分到Worker类里面。
2020-10-25 20:03:47 +08:00
参考内容
2020-10-25 22:21:06 +08:00
* CoverEars(迅雷不及掩耳, Qt版多线程下载器) https://github.com/xj361685640/CoverEars-Qt
2020-11-20 10:06:01 +08:00
![](./MultiplethreadDownload/screenshot.png)
# C++ 相关DEMO
用来测试练习C++技术的。
C++实现的线程池,有些问题 [点击查看 ](./ThreadPool )