
Qt
文章平均质量分 90
分享Qt中遇到问题、自己编写的控件
喂你的猴子跑了
C/C++、Qt、网络编程
展开
-
Qt——记录:http表单格式上传文件到七牛云和阿里云
环境:windows10版本:Qt 5.15.2工具:QtCreator背景:通过http表单格式上传文件,兼容阿里云和七牛云。问题1:ErrorCode: MalformedPOSTRequest ErrorMessage: The body of your POST request is not well-formed multipart/form-data分析:最初看到问题有点懵,后来看到这位大佬博客(http multipart上传阿里oss失败(MalformedPOST.原创 2021-07-06 15:21:02 · 1463 阅读 · 3 评论 -
Qt——跨平台图片模糊:图片在windows上清晰mac上也清晰
一、问题背景 最近将windows项目迁移到Mac上,发现图片模糊。本节主要介绍在mac上图片模糊原因。下一节介绍解决方案和代码。废话不多说,直入主题。二、视网膜屏幕 视网膜屏幕是分辨率超过人眼识别极限的高分辨率屏幕,是由苹果公司在2010年iPhone 4发布会上首次推出的营销术语。视网膜(Retina)屏幕是苹果公司"发明"的一个营销术语。并在部分移动产品使用。苹果这个术语用在iphone 4手机上,自此一直沿用,它将960×640的像素压缩到一个3.5英寸...原创 2021-03-13 16:34:05 · 1158 阅读 · 0 评论 -
Qt——功能:高清头像(锯齿小)
最近UI小哥哥检查界面效果,觉得头像显示不够清晰。当前效果图:竞品效果图:原图:1.当前效果图:实现方法:通过样式表实现圆形头像和缩放效果。实现代码:QLabel styleSheetLabel;styleSheetLabel.setFixedSize(40, 40);styleSheetLabel.setStyleSheet(QString("QLabel{border-radius:20px;border-image:url(%1);}").arg(..原创 2020-10-26 10:09:49 · 1019 阅读 · 2 评论 -
Qt——QFontMetrics计算字符串宽度那点坑
突然收到测试小姐姐一条消息:有bug,课程名称显示不全,而且也没有“...”。我:不可能吧,是不是你电脑有问题。测试小姐姐:丢过来一张截图,显示的课程名称确实不全。 用相同数据在自己电脑上再次测试了一遍,仍然没有问题。带着疑问去测试那里又看了一遍,果然还是显示不全。查看了下电脑分辨率相关信息,发现“显示大小为100%”,脑袋里突然有了点想法。windows系统提示:修改“显示大小”会更改文本大小。看到这句话突然想到了DPI。DPI是什么? DPI全称D...原创 2020-10-16 10:00:55 · 6589 阅读 · 1 评论 -
Qt——功能:圆形渐变填充(样式表)
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK填充效果:radialGradient.h#ifndef RADIALGRADIENT_H#define RADIALGRADIENT_H#include <QWidget>class RadialGradient : public QWidget{ Q_OBJECTpublic: RadialGradient(QWidget *parent = nullp..原创 2020-08-26 13:24:20 · 1815 阅读 · 0 评论 -
Qt——功能:HTTP表单上传参考代码
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK先记录代码,后续知识待补充……bool isOpen = true;QNetworkRequest request(m_url);QHttpMultiPart* multiPart = new QHttpMultiPart(QHttpMultiPart::FormDataType);QJsonArray::iterator begin = m_uploadArray.begin(); //m_uploa原创 2020-08-19 13:28:49 · 398 阅读 · 0 评论 -
Qt——功能:模仿“撒花”效果
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDKgithub:https://github.com/coldfirehello/QtDemo.git效果需求:实现思路:1.单个图形要求:随机角度、颜色、大小、形状(预留了扩展:当前为方块)2.使用QPropertyAnimation类控制单个动画速度和掉落位置,动画曲线为:QEasingCurve::OutQuad。可以实现效果:图形下落速度由快到慢,并产生漂移(更自然,随风飘荡)。..原创 2020-08-05 10:12:03 · 509 阅读 · 0 评论 -
Qt——功能:使用QSlider实现音量条
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDKgithub:https://github.com/coldfirehello/QtDemo.git音量需求:注意事项:1.音量移动到0或100时,不能有剩余部分。解决办法:剩余部分设置为背景色!上代码:volume.h#ifndef VOLUME_H#define VOLUME_H#include <QWidget>#include <QSl...原创 2020-07-25 17:24:47 · 4870 阅读 · 1 评论 -
Qt——功能:实现应用程序单例
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK参考链接:https://www.cnblogs.com/js2854/archive/2014/04/24/qt-single-app.html实现思路:1.运行第一个应用程序(如:test.exe)时,调用initLocalConnection()函数,判断是否可以连接已经监听了text.exe的服务器,如果无法连接,证明text.exe没有运行。此时创建一个本地服务器,并监听text.exe。2..原创 2020-07-22 13:30:34 · 662 阅读 · 0 评论 -
Qt——BUG:构造函数中new了控件并隐藏了,后续显示时位置不对?
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK原创 2020-07-20 11:24:08 · 1046 阅读 · 0 评论 -
Qt——BUG:软件运行时竟然出现CPU占用率100%(QTimer使用不当)
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK1.软件运行,运行某项功能时,发现软件卡死,想通过任务管理器杀死,发现当前进程CPU占用率100%。解决问题:查看日志发现,有一调内容疯狂“输出”(打印)。残忍的结束软件后(要不不好看日志),回忆软件卡死时停留的界面,初步定为某个类,详细查看日志后,发现某个槽函数被“疯狂调用”,查看信号源和定时器timeout信号频繁触发有关。为此查看了定时器时间间隔,发现软件运行到异常分支时,直接调用了定时器start()函.原创 2020-07-12 22:43:57 · 3345 阅读 · 0 评论 -
Qt——BUG:没释放资源导致软件退出时崩溃
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK1.问题:软件退出时发现有dmp文件生成,意味着软件有崩溃现象。分析:一般软件退出时产生产生崩溃文件,多数是因为资源没有释放导致。2.尝试定为崩溃:使用windbg分析dmp文件,发现函数调用栈最后都是和QWebEngine相关类有关。运行软件,启动使用QWebEngine相关资源类,退出软件,果然软件会产生崩溃文件。分析代码,发现一个使用QWebEngine资源类中,在软件退出时,没有释放线程、..原创 2020-07-12 22:24:09 · 1375 阅读 · 0 评论 -
Qt——功能:序列帧动画
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK一、实际效果:二、实现原理:1.序列帧图是将一系列动作放在一张图中展示,一般每幅图大小相等(方便程序处理)。2.根据每一帧大小定时绘制一幅图。3.在paintEvent使用QPainter的drawPixmap进行绘制。三、源代码sequenceFrameAnimation.h#ifndef SEQUENCEFRAMEANIMATION_H#define SEQ...原创 2020-07-12 21:56:06 · 2740 阅读 · 0 评论 -
Qt——功能:给文字增加轮廓
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK需求效果:原创 2020-07-10 10:06:16 · 1217 阅读 · 1 评论 -
Qt——功能:绘制柱状图
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK绘制柱状图:barChart.h #ifndef BARCHART_H#define BARCHART_H#include <QWidget>#include <QPainter>#include <QList>class BarChart : public QWidget{ Q_OBJECTpublic: struct OptionType.原创 2020-06-14 11:24:23 · 2109 阅读 · 0 评论 -
Qt——功能:绘图边缘有锯齿
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK当使用QPainter绘制圆角矩形时,发现圆角不平滑:示例代码:sawtooth.h#ifndef SAWTOOTH_H#define SAWTOOTH_H#include <QWidget>class Sawtooth : public QWidget{ Q_OBJECTpublic: explicit Sawtooth(QWidget *parent = n.原创 2020-06-14 10:01:27 · 4266 阅读 · 0 评论 -
Qt——功能:流式布局
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK项目需求:拉伸窗口后,自动记录每行子窗口个数,而且可以使用筛选功能,隐藏窗口。此时显示内容自动刷新。初选方案1:QListWidget流式布局经过调查,流式布局可以实现上述功能,后续发现QListWidget有流式布局功能。上代码:flowWidget.h#ifndef FLOWWIDGET_H#define FLOWWIDGET_H#include <QListWidget>..原创 2020-06-06 23:02:22 · 2019 阅读 · 2 评论 -
Qt——功能:窗口不在系统的任务栏上显示
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK需求背景:QWidget窗口不显示在任务栏,并且鼠标点击到窗口之外后自动消失。分析:这种需求和右键弹出的菜单栏很像。解决办法:调用QWidget的setWindowFlags()函数。setWindowFlags(Qt::Popup | Qt::FramelessWindowHint | Qt::NoDropShadowWindowHint);注意:因为项目中需要去掉阴影,增加了Qt::No..原创 2020-06-03 12:50:18 · 3478 阅读 · 0 评论 -
Qt——功能:给窗口增加影子
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK1、平时使用软件时,经常看到弹出的窗口就像有了影子:设置窗口周围有一圈浅浅的灰色,就像窗口的投影。 2、那么Qt中如何实现这种效果?QGraphicsDropShadowEffect可以给QWidget的类增加投影效果,实际效果类似上图。3、话不多说,上代码WidgetDropShadow.h#ifndef WIDGET_DROP_SHADOW_H#define WIDG...原创 2020-06-06 16:04:30 · 1066 阅读 · 0 评论 -
Qt——BUG:解决图标显示不是期望路径图标问题
测试环境:win10、Qt Creator 4.11.1、5.14.2版本SDK问题:最近在和同事开发时,通过样式表修改控件边框时,发现自己设置的图标不生效?莫名其妙关联其它图标?这个“幽灵图标”到底来自哪,当前项目中根本找不到!!!代码如下:QPushButton* closeBtn = new QPushButton();closeBtn->setFixedSize(40, 40);closeBtn->setStyleSheet("QPushButton{border.原创 2020-05-17 10:48:05 · 339 阅读 · 0 评论 -
以像素为单位计算字符串大小
环境:Qt5.8、win7一、背景项目中需要根据字符串长宽调整空间边框大小。二、解决办法使用QFontMetrics。QFontMetrics函数计算给定字体的字符和字符串大小。string函数包括width()、boundingRect()、size()和size(),它们以像素为单位返回字符串的宽度(对于打印机来说是点)。三、示例代码#include "widge...原创 2019-09-07 18:12:27 · 557 阅读 · 0 评论