草上爬
专注技术,热爱分享
展开
-
QSS编辑器QssEditor之三:Ribbon控件与换肤
Ribbon控件即Office样式UI,Ribbon控件有许多开源实现,例如:SARibbon功能强大,但以学习为目的的话,我们可以自己去实现一个简单的。基本思路是自定义QTabWidget,然后通过QSS调整样式。如上图所示,我们可以实现一个类QHRibbon,继承自QTabWidget,通过接口void addTab(const QString &tabName)和void removeTab(const QString &tabName)来动态添加和删除Tab页;原创 2022-11-07 15:41:58 · 5176 阅读 · 2 评论 -
QSS编辑器QssEditor之二:加载有变量的QSS
Qt样式表可以让你自定义任何一个Qt控件的样式包括颜色、边框、背景等等(你想的到样式都可以),Qt样式表的概念、术语和语法与HTML的CSS样式表类似。样式表是文本规范。一般形式也可以使用QWidget::setStyleSheet()在特定小部件(及其子部件)上设置如果在不同级别上设置了多个样式表,Qt将从所有设置的样式表派生有效样式表。这称为级联。原创 2022-11-07 12:45:48 · 4969 阅读 · 1 评论 -
QSS编辑器QssEditor之一:简介
本编辑器参考了以下两个开源QSS编辑器1.这个编辑器能正常使用,支持实时预览,UI上略显简陋。但是github上release的可执行版本是不支持语法提示和自动补全的,如果想要支持这个特性,需要自己下载源码,将编辑器引擎切换到QScintilla,然后重新编译2.这个编辑器是用PyQt开发的,UI布局上就好得多,但是bug多到没法用,说好的实时预览都没兑现。本编辑器的UI布局参考该编辑器。原创 2022-11-05 15:07:03 · 9128 阅读 · 13 评论 -
Qt多线程http下载器之四:Win10上使用VS2017编译libcurl
编译libcurl时,libssh2和openssl应该都不是必须的,这从libcur的vs工程配置能看出来这里我们编译DLL Release-DLL OpenSSL-DLL LibSSH2,win32libssl2依赖zlib和openssl,下载相关源码并解压下载地址解压,如下图所示。...............原创 2022-08-05 13:45:42 · 4355 阅读 · 0 评论 -
Qt多线程http下载器之三:文件下载异常的处理
用记事本打开,发现其内容是html文本,其中有document.cookie属性,我们需要将该cookie设置到下载的请求参数中。,通用的下载方式只能下载成一个100多字节的文件,但是相关API却返回下载成功。用Qt的network模块设置cookie的代码如下。libcur设置cookie选项的代码如下。右键查看其属性,只有187字节。这样就能正常下载了,如下图所示。下载后的文件如下所示。原创 2022-11-05 09:32:48 · 4664 阅读 · 3 评论 -
Qt多线程http下载器之二:仿迅雷新建下载任务
下图是迅雷9的新建任务界面,目前最新的版本是迅雷11,迅雷9已无法准确检测出文件大小,但任然能正常下载。个人觉得迅雷9的新建任务界面更美观,故仿之。下图是我用Qt实现的效果,功能和迅雷9类似,复制下载url到输入框,迅雷能够自动解析下载文件信息,而且支持文件名的修改。当然还有个比较特别的地方,就是QTableWidget标题栏的样式。图中添加的任务是360安全卫士和爱奇艺。原创 2022-11-04 23:15:11 · 5313 阅读 · 9 评论 -
Qt多线程http下载器之一:仿百度网盘的http下载器
本下载器基于Qt和libcurl,下载未使用Qt的network模块,因为使用libcurl方便封装成SDK供第三方使用,当然下述的这些功能用network模块也是可以实现的。√ 支持多线程下载√ 支持断点续传√ 支持暂停/继续下载√ 支持还原下载任务√ 支持获取实时下载速率、下载大小和剩余时间√ 支持下载限速√ 支持磁盘缓存√ 支持文件哈希校验√ 支持大文件下载√ 支持兼容服务器对客户端加速下载的限制√ 支持下载任务状态记录,下次启动时自动下载未完成的任务。原创 2022-11-04 16:34:48 · 6175 阅读 · 32 评论