抓包工具:Fiddler下载、安装、使用 教程 Composer允许自定义请求发送到服务器,可以手动创建一个新的请求,也可以在会话表中,拖拽一个现有的请求Parsed模式下你只需要提供简单的URLS地址即可(如下图,也可以在RequestBody定制一些属性,如模拟浏览器User-Agent).........
win10上使用VS2017编译libcurl 编译libcurl时,libssh2和openssl应该都不是必须的,这从libcur的vs工程配置能看出来这里我们编译DLL Release-DLL OpenSSL-DLL LibSSH2,win32libssl2依赖zlib和openssl,下载相关源码并解压下载地址解压,如下图所示。...............
Qt之在QML中使用QSortFilterProxyModel进行排序和过滤 自定义的model继承自QAbstractListModel,如何自定义model,可参考Qt官方demo——contactlist这里使用自定义的model,加上自定义的SearchSortFilterProxyModel来实现搜索,效果如下所示从效果图中可以看到,列表有1000行,每行都包括用户ID和用户名,我们将使用用户ID进行排序,使用用户名进行过滤(搜索)首先要在自定义的QHListModel中分别设置用户ID和用户名对应的roleenumRoles{};{.........
Qt优秀开源项目之十三:QScintilla Scintilla是一个免费、跨平台、支持语法高亮的编辑控件。它完整支持源代码的编辑和调试,包括语法高亮、错误指示、自动补全(codecompletion)和函数提示(calltips)。毫无疑问,Notepad++是最出名的基于Scintilla的开源编辑器,它完全用C++实现而QScintilla是Scintilla在QT上的移植,使用该库可以更为方便的开发Qt程序。......
Qt之解析HTML 先复制网页的内容并粘贴到QTextEdit中,当然QTextEdit中显示的是已经解析好的,网页中有一张图片,因为网络图片没法直接显示在QTextEdit中,因此这里只显示了图片地址如果要显示网络图片,得先下载,下面是个Qt显示网络图片的例子,代码见后面章节接着复制word中的内容并粘贴到QTextEdit中,word中的内容就是刚才复制网页粘过去的,word中的图片已经缓存到本地了,因此粘贴到QTextEdit时,图片是可以显示的。..................
Qt之Model/View架构 模型/视图是一种用于从视图中分离数据的技术。标准widgets不是为从视图中分离数据而设计的,这就是为什么Qt有两种不同类型的widgets。这两种类型的widgets看起来相同,但它们与数据的交互方式不同。☆标准widgets的数据是widgets的一部分☆Model/Viewwidgets操作View外部的数据(model)......
Qt之使用QTreeView实现QQ好友列表 在MVC中,模型负责获取需要显示的数据,并且存储这些数据的修改。每种数据类型都有它自己对应的模型,但是这些模型提供一个相同的API,用于隐藏内部实现。视图用于将模型数据显示给用户。控制器是模型和视图之间的媒介,将用户的动作解析成对数据的操作,比如查找数据或者修改数据,然后转发给模型执行,最后再将模型中需要被显示的数据直接转发给视图进行显示。同样,这种架构也允许使用不同界面显示同一数据,也能够在不改变数据的情况下添加新的显示界面。☆来自委托的信号在用户编辑数据项时使用,用于告知模型和视图编辑器的状态。....
Qt之使用QListView实现QQ登录历史列表 头像、昵称和账号都是绘制的,删除按钮也是绘制的,只所以有点击效果,是因为editorEvent中处理了QEventMouseButtonPress和QEventMouseButtonRelease事件,具体见代码。m_mouseOver的作用是只有当鼠标在QListView上时才允许Item的hover效果,当鼠标在滚动条是不允许Item的hover效果。如果不这样做,当拖动滚动条的时候,Item也会更随着hover,如下所示,这显然不是想要的效果。通常popup弹窗是会有阴影的,如下图所示。.......
Qt实现的酷炫轮播图 无倒影 有倒影Qt中每一个窗口都有一个坐标系,默认的,窗口左上角为坐标原点,然后水平向右依次增大,水平向左依次减小,垂直向下依次增大,垂直向上依次减小。原点即为(0,0)点,然后以像素为单位增减。例如:我们先在原点(0,0)绘制了一个长宽都是100像素的红色矩形,又在(-50,-50)点绘制了一个同样大小的黄色矩形。可以看到,我们只能看到黄色矩形的一部分。效果如下:如果自己绘制无法满足要求,可以使用QPainter的坐标换行,涉及的函数包括:translate()函数,进行平移变换;scale(
Qt之实现QQ天气预报窗体翻转效果 目前据我所知,最新版的QQ有两个地方用到了窗体翻转特效,一个是登录,另一个是天气预报下面是我实现的效果,只实现了翻转,其实天气预报功能也很简单,调用接口,解析数据然后贴图就行,关于天气预报详见下面章节 看梅花9,大家一定似曾相识,没错,素材来自Qt官方demo flipable,该demo是用QML实现的翻转效果,话说用QML实现特效比Widget要方便很多。这里是用Widget实现的,不同点是flipable翻转的是图片,这里翻转的是窗体,下面说说实现原理毫无疑问,这里用到了Qt的动画模块,关于Qt动画
Qt之实现动效导航栏 一.效果 二.实现现在随便点开一个应用,都会有侧边导航栏的身影,比如clash目前,侧边导航栏设计已经成为一种持续更新中的设计趋势。现在很多应用,特别是设置页面都会包含侧边导航栏,网页中更是常见,在网页设计中侧边导航栏设计会使用单一的纯色打底,包含较少的选项,导航栏顶端通常会包括logo,文字链接,以及带有小图标的社交媒体账号链接。想要侧边导航栏发挥最大的作用,秘诀在于控制好侧边栏本身和右侧内容的对比度,要包含足够清晰可见的导航条目,还要能在移动端上良好地运作。另外,要注意的是,不要因为屏幕侧边够长,就企
Qt之自定义带游标的QSlider 最近翻看6年前写了一篇关于QSlider的博客:Qt自定义带游标的slider,在滑块正上方显示当前值发现存在很多问题,比如游标的坐标不准确;如果游标宽度稍大,滑到Slider最左或最右的时候会显示不全;游标不够美观。PS:这里有个漂亮的Slider样式表https://blog.csdn.net/caoshangpa/article/details/53389517于是今天再实现了一遍,依然是子类化QSlider,效果如下,支持设置游标的尺寸:这一次的实现比之前简洁很多,只需要重新paintEvent
Qt优秀开源项目之九:qTox 首先要介绍的是一款聊天安全的端对端加密通讯工具—tox。tox最早是在2013年6月23日由大佬irungentoo发布并托管于GitHub上,在此后的几年间tox迅速发展,并衍生出许多基于tox制作的客户端,包括今天我们主要介绍的qTox。tox最初的想法就是创建一个即时通讯工具,无需使用中央服务器即可运行,并且点对点,端到端加密,保证用户通信的保密性和安全性。tox客户端较多,基本涵盖了所有平台,这里主要简单介绍一下最经典的qTox。qTox是一款基于Qt和tox制作的端对端加密即时通讯工具,随
使用VS2022编译Telegram桌面端(tdesktop) 2018年的时候参考Telegram桌面端(tdesktop)编译方法成功编译过tdesktop,后来比较忙,就没管它了这段时间正好在研究IM,就把当年的Telegram工程找出来,依然能正常编译,但是无法登录了,提示需要升级为了调试方便,只能参考官编译方指导用最新的源码再编译一遍,编译工具已经换成了VS2022,可以确定的是,参考官方编译指导可以编译成功(前提是能科学上网)因为工作用得是VS2017,so,为了稳妥起见,还是在虚拟机里试试VS2022吧在VMware® Workstation 16
Qt仿QQ截图 这是一个参照QQ用Qt 5.12.2 VS2017做的截图工具,实现了以下功能:1.自动识别窗口,可点选2.支持框选截图区域3.支持截图区域移动和缩放4.支持鼠标所在位置放大取色5.支持实时显示截图区域大小6.支持保存到剪贴板或本地7.支持全局快捷键8.支持矩形、椭圆、箭头、画笔和文本工具马赛克工具的实现可参考:Qt实现QQ截图中的马赛克效果文本工具的详细介绍可参考:Qt仿QQ截图之QTextEdit宽高自适应9.支持撤销10.支持高分屏11.跨平台,支持windows和mac双
基于FFmpeg的视频播放器之十六:完结 学习FFmpeg个人认为是不需要买书的,只需利用好下面四种资源1.优秀的博客,比如雷神的博客:https://blog.csdn.net/leixiaohua10202.FFmppeg的exanmples:FFmpeg: Examples3.优秀的开源播放器,比如VLC、MPlayer、MVP、QtAV等4.FFmpeg的源码当然最重要的是自己要尝试用FFmpeg去做一个基本功能完整的播放器,以做带学。如果身边有老鸟、大神相助就再好不过了。博主本人喜欢听歌,播放器做好后,就试了试mp3和wav,
基于FFmpeg的视频播放器之十五:录像 一.效果二.原理将上一篇基于FFmpeg的视频播放器之十四:remuxing中的代码直接用于录像是行不通的,会存在下列问题1.因为可以从任意时间点开始录制,此时第一帧的时间戳就不是0了,虽然也可以生成视频文件,但是经测试该视频文件爱奇艺客户端可以正常播放,PotPlayer和windows自带的播放器都不能正常播放解决方法是让录制的第一帧时间戳从0开始,这里以视频为例,音频同理:int64_t m_firstVideoPts=0int64_t m_firstVideoDts=0vo.