75 lines
3.9 KiB
Markdown
75 lines
3.9 KiB
Markdown
# Qt 技术研究说明
|
||
目前星火的Qt开发技术太薄弱了,需要积累相关的技术,才能开发出更优质的客户端出来。
|
||
学习Qt相关的书,网络上Qt的系列教程,研究开源的Qt程序。
|
||
分析学习DTK源码和深入学习Qt。
|
||
暂时我还没有一个清晰的目标,我希望后续能够指定一个规划,来攻克技术难点,持续学习、开发。
|
||
开发Linux桌面应用,是一件非常有意思的事情,哈哈,能够满足我的情趣,也能学到技术,交到朋友。
|
||
|
||
学好这些,真正有技术实力的人,找工作就是小case了,哈哈。
|
||
|
||
**要研究的技术点**
|
||
* [ ] 如何自定义绘制控件,DTK的很多控件都是自就义绘制的,真心漂亮,得学到手。
|
||
* [ ] Linux 如何做到静默安装,申请一次权限,后续下载成功后直接安装,能像Deepin商店那样静默安装就更好了。
|
||
* [ ] Linux 应用开发的相关技术,DBus事件通信
|
||
* [ ] 离线缓存应用,把客户端需要的数据一次性下载到本地sqlite里,只有在数据有更新的时候才重新下载。
|
||
* [ ] QML桌面应用开发
|
||
* [ ] 多线程应用,线程池、线程暂停恢复、任务队列,看看怎么来封装一个完善的出来,之前研究好久我没咋搞懂。
|
||
|
||
**高手的Qt教程**
|
||
* [ ] 偕藏的Qt及DTK研究教程 https://github.com/xmuli/QtExamples
|
||
|
||
**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 网络通信,做即时通讯很有用处
|
||
|
||
# 星火开发组Qt Demo
|
||
放一些大家写的Demo,方便参考学习和测试。
|
||
|
||
## QPushButton 图标左对齐文字剧中
|
||
[QProxyStyleTest](./Components/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
|
||
|
||
![](./Components/QProxyStyleTest/screenshot.png)
|
||
|
||
## 多线程下载
|
||
[MultiplethreadDownload](./Components/MultiplethreadDownload/)
|
||
|
||
测试视频下载地址 https://www.learningcontainer.com/wp-content/uploads/2020/05/sample-mp4-file.mp4
|
||
|
||
多线程下如何更新下载进度的问题,还没解决。可以需要将线程任务单独拆分到Worker类里面。
|
||
|
||
参考内容
|
||
* CoverEars(迅雷不及掩耳,Qt版多线程下载器) https://github.com/xj361685640/CoverEars-Qt
|
||
|
||
![](./Components/MultiplethreadDownload/screenshot.png)
|
||
|
||
# C++ 相关DEMO
|
||
用来测试练习C++技术的。
|
||
|
||
C++实现的线程池,有些问题 [点击查看](./ThreadPool) |