Qt
谷子越来越胖了
科技创造自由
展开
-
QT打包软件调用DLL出现Cannot load library XXX.dll:找不到指定的模块之解决方案
QT DLL原创 2022-07-14 10:30:04 · 9981 阅读 · 1 评论 -
QGraphicsScene添加自定义item,成功添加但不显示的一种原因
当用户自定义item时,该自定义item的父类必须为Qwidget或QGraphics相关类。否则会导致场景异常,无法正常显示item原创 2022-06-08 14:02:03 · 990 阅读 · 0 评论 -
QTableView改变行高的方法
若想改变行高为10,则使用如下代码tableview->verticalHeader()->setMinimumSectionSize(10);for(int i=0;i<model->rowCount();i++){ tableview->verticalHeader()->resizeSection(i,10);}其中,tableview为QTableView对象,model为其QStandardItemModel。...原创 2022-05-30 15:31:40 · 4150 阅读 · 2 评论 -
QT5.9.0安装64位编译器(win10)踩坑记录+解决办法
这里写自定义目录标题问题描述尝试1:卸载重装VS2015尝试2:改注册表尝试3:卸载重装QT尝试4:不装VS2015,只安装库和build tool尝试5:将QT版本降低到5.1.0成功尝试:将QT版本提高到5.12.0,自带mingw_64bit后记问题描述我有个项目需要在QT中使用64位编译器,我用的QT版本是5.9.0,自带只有一个Mingw32位编译器。所以我一直都是用MSVC2015_64bit编译器来实现64位的编译功能,但是~~就在几天前,当我打开电脑,就显示“Variable QMAKE原创 2021-08-29 11:25:59 · 8681 阅读 · 4 评论 -
QT简单曲线图绘制(基于QChart)
本例指定一系列离散点,可绘制曲线图,并可将图表嵌入widget中(本例嵌入了mainwi)效果如下:本例曲线图绘制使用QT的QChart模块实现(QT5.7及其以上版本才有此功能),自行封装了Chart类,调用如下:.pro工程文件:#-------------------------------------------------## Project created by QtCreator 2020-08-12T20:05:22##--------------------------原创 2020-08-12 22:02:49 · 24780 阅读 · 6 评论 -
QT ModbusCRC16 校验码计算(非查表法,直接计算)
记录一下QT中如何实现 ModbusCRC16 校验码计算#include <QCoreApplication>#include <QDebug>//CRC16计算函数uint16_t ModbusCRC16(QByteArray senddata){ int len=senddata.size(); uint16_t wcrc=0XFFFF;//预置16位crc寄存器,初值全部为1 uint8_t temp;//定义中间变量 int i=原创 2020-06-11 14:47:05 · 5354 阅读 · 3 评论 -
QT设计模式实例【单例模式】
本文根据一个例子,展示如何在QT中使用单例模式特点:全局内只允许创建一个对象,成员变量和成员函数绝大多数为静态。用途:充当架构内的全局管理器角色,例如Windows的任务管理器就是一个典型的单例模式。单例模式代码://运动控制器 单例模式#define SAFE_DELETE_ELEMENT( ptr ) if(ptr != NULL){delete ptr; ptr = NULL;}class MoveController : public QObject{ Q_OBJECT原创 2020-05-16 15:54:37 · 917 阅读 · 0 评论 -
QT错误的解决办法error:LNK2019:无法解析的外部符号
之前在QT(c++)中也遇到过这个问题,是因为类的静态成员只是在类中声明,没有在类外定义。问题代码我的类中的静态成员://运动控制器 单例模式class MoveController : public QObject{ Q_OBJECT static QMutex mutex; //静态成员 static QReadWriteLock RWLock_wheel1; //静态成员 static QReadWriteLock RWLock_wheel2; //静态成员原创 2020-05-16 15:31:11 · 2238 阅读 · 0 评论 -
QT简单入门实例11【QT写简单XML文件】
实现效果:在工程目录下生成一个xml文件XML文件内容:<?xml version="1.0" encoding="UTF-8" standalone="yes"?><!--Scheduling FrameWork V1.0, Wrote By Sun_tian--><Family City="HZ"> <personItem> ...原创 2020-02-21 22:03:28 · 516 阅读 · 0 评论 -
如何保证QT中类的线程安全?(让多线程不再崩溃)
1 什么是类的线程安全(或线程安全的类)?了解多线程的人大概都知道,类的线程安全比可重入更加严格,它要求在不同线程同时调用类同一实例的成员函数,而不会引发程序的崩溃。2 哪些情况下不用考虑线程安全问题?2.1 在多线程中对bool,int,float,QString等类型的操作,你不用考虑任何安全性问题。因为你无论以什么方式在不同线程中对这些类型进行操作,都像真正的原子性操作一样(其实不是...原创 2020-02-21 16:00:28 · 6042 阅读 · 1 评论 -
QT简单入门实例10【100行代码实现的的QCamera摄像头应用,可打开多个摄像头,可全屏】
前言:之前写过一篇 QT5基于QCamera实现的各种摄像头(USB摄像头,系统摄像头,网络摄像头)显示,截图,保存功能。有很多写的不清楚的地方,正好趁《QT简单入门实例》这个系列,再梳理一下QCamera的最基本用法。老规矩,先看运行效果:功能:1 可自动检测连接的摄像头,并可在左下角选择。2 可打开摄像头。关闭摄像头。3 可选择本地路径进行截图保存源代码(界面设计通过代码实...原创 2020-02-18 19:54:51 · 3181 阅读 · 8 评论 -
QT简单入门实例9【一个信号对应多个槽,多个信号对应一个槽】
前言:Qt独创的信号槽机制,不仅可以一个信号连接一个槽,而且可以一对多或多对一。这其中存在两个最基本的问题:1.一个信号对应多个槽时,槽函数的执行顺序是怎样的???2.多个信号对应一个槽时,如何在槽函数中判断信号的发出者是谁(来自哪个类的对象)?下面对这两种情况分别进行验证:实例演示1:对一个信号对应多个槽时,槽函数的执行顺序怎样的?mainwindow.h#ifndef MAIN...原创 2020-02-18 16:26:35 · 5102 阅读 · 1 评论 -
QT简单入门实例8【信号槽的新建,连接,触发】
1 UI控件的信号槽(以QPushButton为例)QT的各种UI控件(例如按钮,滑动条,标签等),都有很多信号,这些信号在控件状态变化时(比如鼠标按下的时候)信号会自动触发。在“按钮”控件上鼠标右击可以转到槽,可以看到,QPushButton类总共有12个不同的信号,分别继承自QAbstractButton, QObject, Qwidget。最常用的就是:clicked() —— 鼠标...原创 2020-02-18 15:08:46 · 959 阅读 · 0 评论 -
QT简单入门实例7【解决界面阻塞问题】
界面卡死的原因:1.密集计算当你想在主线程创建类似 while(1)的这种死循环时,你可能会写下这样的代码:#include "mainwindow.h"#include "ui_mainwindow.h"#include <QDebug>MainWindow::MainWindow(QWidget *parent) : QMainWindow(parent), ...原创 2020-02-17 16:46:39 · 6078 阅读 · 1 评论 -
QT简单入门实例6【QVariant使用,一种实现函数重载的新方法】
概述QVariant可以被当做一个容器,你可以把其他类型的值放进去,然后也可以取出。在你想要一个类型,这个类型可以存储不同类型的值时,可以使用QVariant 。QVariant 可以保存的数据类型包括QString, QImage, QFont, QPixmap, QPoint等QT内置类型,还有C++基本类型,如 int、float等。数据库模块和QSettings模块都严重依赖QVar...原创 2020-02-17 14:13:08 · 1033 阅读 · 0 评论 -
QT简单入门实例5【QVector与QList容器类】
概述仅在此简单介绍QVector与QList的一些常见函数,有兴趣的可以查下QT帮助文档(F1)。两者都是Qt提供的的泛型容器类,分别对std::vector和std::list进行了改进,以提高运行效率,简化使用。QVector类是一个提供动态数组的模板类,QList类类是一个提供链表的模板类。有兴趣的可以研究一下Qt库中的具体实现,对提高代码水平会有很大提升。使用:QList可以解...原创 2020-02-17 13:21:24 · 1127 阅读 · 0 评论 -
QT简单入门实例4【QMessageBox确定和取消功能,结合窗体关闭事件】
实现效果:点击窗体关闭按钮后,弹出对话框点击Yes后,关闭事件被响应,应用程序会退出;点击No后,关闭事件被忽略。代码:manwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#include <QMainWindow>#include <QMessageBox> //添加头文件#include <Q...原创 2020-02-17 10:28:53 · 3442 阅读 · 1 评论 -
QT简单入门实例3【QMessageBox使用,包含消息框,警告框,错误框。实现一定延时后自行关闭功能】
本文对 QMessageBox::Information, QMessageBox::Warning,QMessageBox::Critical 三种消息框进行演示。并实现两种弹出方式:1. 等待用户点击后关闭2. 延时一段时间后自行关闭效果如下:以下是代码:mainwindow.h#ifndef MAINWINDOW_H#define MAINWINDOW_H#in...原创 2020-02-17 10:04:10 · 2799 阅读 · 0 评论 -
QT简单入门实例2【QString使用,与string, char*, int, float互相转化】
QString是QT基于std::string类型自定义的一种新类型,用来实现更方便的字符串操作。以下对QString的常用功能进行展示,并提供与其他类型的转化方法(string, char*, int, float )main.cpp#include <QString>#include <QDebug>using namespace std;#include ...原创 2020-02-16 17:18:10 · 503 阅读 · 0 评论 -
QT简单入门实例1【qt连接sqlserver】
前言:在软件项目开发中,经常会用到数据库进行数据管理,其中最常用的就是SQL Server。本例对如何使用QT5连接SQL Server数据库进行讲解,并提供详细步骤和源码。环境:QT5.9.0 (MinGW-32bit), SQL Server 2008,本例中的测试所用数据库名称为GL4,如下图1.配置ODBC数据源打开ODBC数据源管理器,位数要和QT编译器保持一致,本例中两...原创 2020-02-16 15:31:51 · 3478 阅读 · 1 评论 -
QT开发 一个超简单的入门例子(详细)
实现功能:可以通过按钮打开本地图片,并显示在主界面上如下:步骤:1.新建项目原创 2020-02-16 10:37:41 · 24705 阅读 · 14 评论 -
Qt5(C++)调用python3脚本(带输入输出参数)
本例中的环境: Qt 5 9.0(编译器为32位mingw或32位msvc均可),python3.5.4 -32bit1 前期准备1.1 准备测试用的python文件(取名不要为test.py即可)def show(): print("hello!")def sum(a,b): return (a+b)def main(): show() print(s...原创 2020-02-15 16:11:01 · 7135 阅读 · 12 评论 -
Qt5.9.0下载与安装(windows版本)
1.下载Qt5.9.0开源版本官网下载选择图中2.3GB的安装包,即可进行下载2.安装双击安装包,弹出qt5.9.0的安装界面点击下一步这里的账户如果没有,可以不填,直接点Next点击下一步选择安装目录,勾选下面的勾选框,点击下一步选择需要安装的组件,如果msvc2015 32-bit, msvc2015 64-bit, Qt Charts, Qt WebEngin...原创 2020-02-14 18:30:14 · 14608 阅读 · 5 评论 -
(Qt+opencv)操作摄像头实现显示、截图、保存功能(双线程、带源码)
一年前有个项目,本打算用Qt+opencv+多线程来操作相机,苦于技术不到家,只好用QCamera来操作摄像头(QCamera提供的相机操作方法很局限,甚至无法直接获取每一帧图像)。一年后的今天,我又想起这回事,专门抽时间把这段代码写了出来,也算有始有终了~环境:win10 + Qt5.9.0(编译器为MSVC2015-32bit) + opencv4.1.1(编译器为MSVC2015-32bi...原创 2020-02-09 16:37:33 · 7028 阅读 · 7 评论