QLabel显示图片,QPixmap.scaled Qt::KeepAspectRatio不起作用
摘要:一、问题描述以及解决办法 Qt中QLabel可以显示图片。如下: QLabel* label = new QLabel(this); label->setPixmap(QPixmap) 其中QPixmap可以缩放图片 Pixmap pixmap;pixmap.scaled(QSize(width,
阅读全文
posted @
2023-12-20 10:17
飘杨......
阅读(317)
推荐(0) 编辑
QRadioButton简单使用
摘要:一、概述 QRadioButton是制作单选的极佳控件,下面是其简单使用介绍。 本案例的用途:切换上采样及下采样。 示例图: 二、示例代码 QButtonGroup* group = new QButtonGroup(this); QRadioButton* btn1 = new QRadioBut
阅读全文
posted @
2023-12-13 11:21
飘杨......
阅读(50)
推荐(0) 编辑
Qt显示OpenCV的单通道图片
摘要:一、概述 Qt中显示OpenCV的图片。OpenCV中的Mat默认是3通道图片。但是其灰度图、二值图片会是8位单通道的。 示例代码中记录了如何显示 二、代码示例 #include "ImageUtils.h" Mat ImageUtils::qImageToMat(QImage qImage) {/
阅读全文
posted @
2023-12-08 17:39
飘杨......
阅读(65)
推荐(0) 编辑
Qt给自定义组件的子组件设置回调函数
摘要:一、概述 Qt的界面不管是用纯的代码编写,还是用可视化界面编写,其友好度相对来说是比较差的。所以一有空就定义一些小的组件供后续使用时一个好的习惯。 这不,活来了。 需求:借助QSlider、QLineEdit、QPushButton、QLabel定义一些常用的小组件。效果图如下。ps:其中红框,框出
阅读全文
posted @
2023-12-08 17:06
飘杨......
阅读(221)
推荐(0) 编辑
Qt结合QThread创建一个QWidget基类,用于方便的在QWidget中执行耗时任务
摘要:一、概述 背景:Qt+OpenCV项目改造,之前项目中的OpenCV算法都是在主线程中执行,导致部分操作或者重复点击的时候界面卡顿。现在想对这块进行改造。 集合QThread和QWidget设计一个QWidget基类用于方便的执行耗时任务并显示执行结果。子类只需要继承这个QWidget基类,只需要重
阅读全文
posted @
2023-12-01 13:31
飘杨......
阅读(211)
推荐(0) 编辑
Qt主线程和子线程协作更新UI
摘要:一、概述 现有一个需求:Qt+OpenCV执行角点检测。使用Qt当做UI界面进行角点检测。我们知道像角点检测这种算法需要大量的计算,是比较耗时的一个操作。如果把计算+UI显示全放入主线程中计算,那么 UI界面有可能就会卡主,进而出现应用程序无响应的情况。 要求: 使用QtThread进行角点检测,让
阅读全文
posted @
2023-11-30 14:07
飘杨......
阅读(1032)
推荐(0) 编辑
Windows10+Qt+OpenCV出现“ACCESS_MASK”: 不明确的符号
摘要:一、概述 背景:Qt+OpenCV一模一样的代码在Mac上运行是正常的,在Windows10上运行就会报一下错误。 “ACCESS_MASK”: 不明确的符号 二、原因及解决方案 原因:OpenCV4.5.3的命名空间using namespace cv;和windows中的ACCESS_MASK定
阅读全文
posted @
2023-11-29 14:31
飘杨......
阅读(170)
推荐(0) 编辑
Qt 给QCheckBox增加样式
摘要:一、概述 做一个好看的QCheckBox 二、示例 1.样式 QCheckBox { spacing:5px; } QCheckBox::indicator { width: 24px; height: 24px; } QCheckBox::indicator:unchecked { image:
阅读全文
posted @
2023-11-28 17:33
飘杨......
阅读(718)
推荐(0) 编辑
Qt给QRadioButton设置自定义样式
摘要:一、概述 做一个好看的QRadioButton。可以选中,取消选中。 二、代码示例 1.样式 QRadioButton::indicator::unchecked { border-image: url(images/user_protocol_uncheck.webp); } QRadioButt
阅读全文
posted @
2023-11-28 17:30
飘杨......
阅读(1114)
推荐(1) 编辑
Qt自定义QLineEdit
摘要:一、概述 自定义QLineEdit,让QLineEdit变的好看一点。 实现效果: 1.普通输入(可以输入汉字、字符、数字) 2.只能输入数字 3.密码模式输入框 二、代码示例 1.创建EditText.h和EditText.cpp [默认样式] #include "EditText.h" Edit
阅读全文
posted @
2023-11-28 13:21
飘杨......
阅读(331)
推荐(0) 编辑
Qt创建一个自定义QPushButton
摘要:一、概述 使用Qt创建一个通用的QPushButton。应用一些样式把按钮做的好看一些。 步骤: 1.新建一个Button类然后继承QPushButton 2.设置Button的通用样式(ps:使用.qss文件的形式应用样式) 3.个性化设置不同的样式 4.做一个圆角按钮、带图标按钮、带背景图片按钮
阅读全文
posted @
2023-11-28 13:15
飘杨......
阅读(508)
推荐(0) 编辑
VisualStudio+qt+cmake添加资源文件qrc
摘要:一、概述 给Qt控件添加样式的时候需要用到Qt的qss。就像css一样可以把按钮变的比较漂亮。 设置方式有三种: 1.在代码中设置。ps:利用控件的setStyleSheet this->setStyleSheet("QPushButton {" "background-color: #2E3648
阅读全文
posted @
2023-11-27 18:01
飘杨......
阅读(1509)
推荐(0) 编辑
Qt QWidgetList::itemClicked不触发
摘要:一、概述 在优化Qt代码的时候发现以前写的List的item的触发事件用的是鼠标事件。而itemClicked信号对应的槽函数onItemClicked函数压根没触发。 void mousePressEvent(QMouseEvent* event); void mouseReleaseEvent(
阅读全文
posted @
2023-11-22 13:56
飘杨......
阅读(597)
推荐(0) 编辑
Windows10+VisualStudio2022+CMake+Qt开发环境搭建
摘要:一、概述 之前一直使用QtCreator当做QT的开发工具,也没觉得有啥问题。最近使用了VisualStudio+Cmake写了一些SDL2和FFmpeg的东西感觉这个VisualStudio这个工具挺好用的。就萌生了要使用VisualStudio开发Qt的想法。 有了这个想法之后就想着需要搭建一个
阅读全文
posted @
2023-11-16 16:40
飘杨......
阅读(1419)
推荐(1) 编辑
Qt6.3+OpenGL播放yuv420p视频
摘要:一、概述 案例:使用OpenGL播放yuv420p的视频文件(文件是自动准备好的),基于上一篇 实现步骤: 1.初始化QOpenGLFunctions initializeOpenGLFunctions() 2.创建QOpenGLShaderProgram 3.添加顶点和片元的shader 4.设置
阅读全文
posted @
2022-07-16 14:56
飘杨......
阅读(611)
推荐(0) 编辑
Qt6.3.1中使用QOpenGLWidget
摘要:一、概述 案例:使用Qt来实现QOpenGLWidget简单框架,此处主要是为后面视频播放做准备的 实现步骤: 1.将OpenGLWidget组件拖入Qt的UI设计页面 2.右键QOpenGLWidget组件 >提升为 3.在代码中创建一个XVideoWidget类,此类的类名要和“提升为”中的类名
阅读全文
posted @
2022-07-15 10:08
飘杨......
阅读(3542)
推荐(0) 编辑
Qt6.3.1播放音频文件QAudioSink
摘要:一、概述 案例:使用Qt播放pcm音频文件。 步骤: 1.自定义一个QIODevice 2.封装XAudioPlayer,调用步骤如下 a.创建QMediaDevices b.从QMediaDevices中获取默认的音频播放设备QAudioDevice c.从QAudioDevice中获取播放格式Q
阅读全文
posted @
2022-07-14 12:02
飘杨......
阅读(1440)
推荐(0) 编辑
Qt QThread线程的简单使用
摘要:一、概述 案例:在GUI编程中一般把耗时任务放入单独的线程中执行,用以防止主线程卡死,导致页面播放不流畅等问题。下面就简单说下在Qt中使用其自带的QThread来实现一个线程 实现步骤: 1.新建一个类来集成QThread 2.实现QThread的run方法 3.在需要的位置开启线程,开启方法为线程
阅读全文
posted @
2022-05-31 10:59
飘杨......
阅读(273)
推荐(0) 编辑
Qt 定时器的简单使用
摘要:一、概述 案例:新建一个定时器固定频率刷新页面 实现步骤: 1.新建一个widget然后重写timerEvent函数 2.在想要开始的地方调用startTimer方法开启定时器 二、代码示例 public: /** * 定时器 * @brief timerEvent * @param event *
阅读全文
posted @
2022-05-31 10:54
飘杨......
阅读(559)
推荐(0) 编辑
Qt使用OpenGL来显示一张图片
摘要:一、概述 案例:使用Qt+OpenGL显示一张图像 需要导入库: 基于Qt6.x core gui widgets opengl openglwidgets 二、代码示例 1.导入QOpenGLWidget #include <QtOpenGLWidgets/QOpenGLWidget> 2.继承Q
阅读全文
posted @
2022-05-10 11:50
飘杨......
阅读(2804)
推荐(0) 编辑