自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 资源 (4)
  • 收藏
  • 关注

原创 QPushButton按下后,界面发生变化,样式不变的情况

一、工作中有时候遇到按下按钮后,界面关闭或者隐藏。界面下次在显示出来的时候,按钮的样式还是按下或者hover的状态。设置按钮属性,每次按下后槽函数设置。

2023-11-22 09:40:29 145

原创 std::map使用自定义的数据结构当做key

二、如果你无法修改自定义结构类型的定义或不希望修改默认的比较逻辑,你可以使用第三个模板参数来指定自定义的比较函数。比较函数应该接受两个参数,并返回一个布尔值指示它们的相对顺序。是按照键的顺序进行排序的,因此需要定义结构类型的比较运算符。通常情况下,你可以通过重载结构类型的小于运算符。

2023-11-14 12:15:40 379

原创 简单使用C++11的线程

平时上班主要工作时Qt,大多数都是用的Qt的自带的thread。学习一下c++11自带的线程。

2023-09-19 22:40:27 72

原创 QtCreator中使用openmp

【代码】QtCreator中使用openmp。

2023-09-19 20:42:09 283

原创 QDir目录下查找文件(子目录也会查找)

1. 查找第一次出现的,找到就退出//目录下查找文件 找到这个文件就停止(递归嵌套深入查找),最多只有一个结果QString find(const QString& dir_name, const QString& find_name){ QDir dir(dir_name); QFileInfoList list = dir.entryInfoList(QDir::NoDotAndDotDot | QDir::Dirs |QDir::Files); fo...

2022-05-07 11:15:18 1480

原创 获取文本文件有多少行,支持\r,\n,\r\n

使用Qt的QFile读取文件,直接上代码,支持换行符\r, \n, \r\nstatic int GetFileRows(const QString &file){ int line = 0; QFile fi(file); if(!fi.open(QIODevice::ReadOnly)) { return -1; } bool pre_is_r = false; QString ch; QTextStre...

2021-11-16 09:19:56 1121

原创 c++ cout重定向

#include <iostream>#include <fstream>一. std::streambuf* oldBuf = std::cout.rdbuf(); std::ofstream of("out.txt"); std::streambuf* fileBuf = of.rdbuf(); std::cout.rdbuf(fileBuf); std::cout << "test out file ..."...

2021-09-14 15:34:21 737

原创 libtorch环境搭建(基于win-cuda)

第1步: 下载opencv的sdk 下载地址:https://opencv.org/releases/# 我目前下载的是opencv-3.4.13,他支持vc14 vc15,如果是需要其他编译器支持。需要自己进行源码编译。第2步:配置opencv的环境变量 把opencv的sdk下载下来后,双击exe就解压到你指定的目录。例如我是解压到E:\3rd目录下. ...

2021-01-27 11:14:32 242 4

原创 用Qt获取 图片的Base64

废话不多说,直接上代码:第一种:直接文件内容转base64 const QString file = "D:/1.png"; QFile fi(file); QByteArray fileBase64; if(fi.open(QIODevice::ReadOnly)) { QByteArray array = fi.readAll(); fileBase64 = array.toBase64(); fi.close...

2020-11-11 16:52:39 729

原创 linux挂载ntfs盘无法执行写操作

一、sudo apt install ntfs-config二、sudo umount /media/zyb/xxx //挂载路径三、sudo ntfsfix /dev/sda5 //需要挂载的盘四、sudo mount -o rw /dev/sda5 /media/zyb/xxx

2020-08-27 20:03:51 508

转载 Qt linux下无法移动出屏幕

测试环境: KUbuntu 20.04, Ubuntu 18.04.4最近做了一个Qt无边框的程序,发现用Qt MouseMoveEvent 代码移动窗体,无法移出屏幕.经过测试,发现就算带有系统边框,也无法移出屏幕,但是按住系统标题栏进行移动就可以.在网上搜索了很久找到了对应的方法:原文地址:https://www.byteisland.com/linux-qt-%E6%97%A0%E8%BE%B9%E6%A1%86%E7%AA%97%E4%BD%93%E7%9A%84%E7%..

2020-08-10 10:19:19 2286 7

原创 win右键菜单二级菜单

参考:https://blog.csdn.net/mzYangMao/article/details/82913316一、创建对应的菜单组创建二级菜单,必须在下面创建SubCommands二、创建shell三、在shell下面创建对应的名字组,比如我这的sublime四、创建对应的command,然后对应的默认属性设置对应的值最终效果:...

2020-02-02 18:44:20 1315 1

原创 openssl实现des cbc加密

//参考 https://www.cnblogs.com/azbane/p/10179660.htmlQByteArray ZYB::Openssl::DES_CBC(const QByteArray &keyStr, const QByteArray &data, ZYB::Openssl::Type type){ DES_cblock keyEncrypt; ...

2020-01-26 17:18:25 1521

原创 openssl实现des ecb加密

QByteArray DES_ECB_encrypt(const QByteArray &key, const QByteArray &data){ DES_cblock keyEncrypt; memset(keyEncrypt, 0, 8); memcpy(keyEncrypt, key.constData(), static_cast&lt...

2020-01-26 16:51:38 1527

原创 openssl 实现hash算法

使用openssl库实现(Qt自带QCryptographicHash)#include "openssl/sha.h"enum OPENSSL_TYPE{MD5,SHA1,SHA224,SHA256,SHA384,SHA512};QByteArray hash(const QByteArray &data, OPENSSL_TYPE type){ int le...

2020-01-26 16:44:41 835

原创 QML创建单例qml文件(说明很全)

今天想用一下qml的单例,网上搜了一堆,都是说了半截,没说全,结果自己摸索出来了,捣鼓半天。本文以CExportData.qml举例,文件放在 项目目录/com/Global目录下一、CExportData.qml文件第一行加入 pragma Singleton,然后再后面写对应的内容二、写对应的qmldir文件,与QML放在一起:module com.Global...

2019-12-20 13:55:32 1180

原创 QML的Treeview 的右键菜单

最近使用到Treeview,需要添加一个功能,右键菜单。他默认的clicked以及其他信号都不支持右键。Treeview的源码里面没有添加。点击左键的时候,Treeview会选中那一行,如果添加右键,没有对应的函数和属性来选择这一行。一、刚开始的时候我下载源码,重新编译了Treeview,让他支持右键修改源码,给MouseArea增加 acceptedButtons: Qt.L...

2019-12-02 10:57:11 860

原创 Qt字符集转换问题

1. 以下编码对应的中文字符: 中文 //bom \xEF\xBB\xBF qDebug() << QString::fromUtf8("\xEF\xBB\xBF\xE4\xB8\xAD\xE6\x96\x87");//utf8 qDebug() << QString("\u4e2d\u6587");//ascii qDebug() &l...

2019-11-11 09:48:55 489

原创 编译完vlc后库太大

在linux交叉编译完vlc后, dll都非常大。这个时候需要strip一下# make -j4 && make package-win-strip(没试过)make -j4 &&make package-win-commonsh strip_dll.shstrip_dll.sh内容:#!/bin/shlist_all_dll_d...

2019-05-28 13:48:13 637 2

原创 OpenAL的Mingw编译

ffmpeg下载地址:https://ffmpeg.zeranoe.com/builds/vlc的一些最新的下载路径 https://nightlies.videolan.org/修改 /etc/fstab 最后加入 E:\Qt\Qt5.12.3\Tools\mingw730_64 /mingw64下面使用的都是这个gcc g++编译一、编译OpenAL源码下载...

2019-05-26 10:32:45 485

原创 win7\linux双系统修复win7引导

插入windows U盘安装盘,进入到计算机修复,打开命令行依次输入bootrec /fixmbrbootrec /fixbootbootrec /rebuildbcd执行完成后重新启动电脑,win7就可以启动了。...

2019-05-25 14:17:26 1317

原创 Linux Qt编译cryptopp

一、cryptopp565进入根目录后 qmake -project 生成cryptopp565.proQtCreator打开pro 文件改成TEMPLATE = libwin32:LIBS += -lws2_32二、cryptopp700同样的进入根目录后 qmake -project 生成cryptopp700.proQtCreator打开pro 文件...

2019-05-24 22:27:15 718

原创 新装Kubuntu 18.04后的一些操作

一、更新源sudo cp /etc/apt/sources.list /etc/apt/sources.list.backupvim/etc/apt/sources.list 将下面的内容覆盖掉以前的#清华源https://mirrors.tuna.tsinghua.edu.cn/help/ubuntu/deb https://mirrors.tuna.tsinghu...

2019-05-24 22:19:29 875

原创 关于Qt的QThread

第一种方式 继承QThread方式:classThreadTest : public QThread {......signals: void test();property: void run() override { ...... emit test(); ...... }......}Thr...

2019-05-18 16:41:48 507

翻译 Qt 的反射(Reflection)应用

反射, 在我看来 就是 运行时把字符串映射为类.我不是很专业, 还望各位大佬嘴下留情.....参考 https://blog.csdn.net/kenier/article/details/62041312 https://blog.csdn.net/liulong1567/article/details/45273017 第一种方式://class TestR...

2019-02-12 09:31:54 4539

原创 vlc 2.2.6 实现录像/取消录像功能

此方法 不用 修改源码重新编译#define LIBVLC_USE_PTHREAD_CANCEL 1#include "vlc.h"#include &lt;vlc/vlc.h&gt;#include &lt;vlc/plugins/vlc_common.h&gt;#include &lt;vlc/plugins/vlc_modules.h&gt;#include &lt;vlc/p...

2018-08-07 15:07:05 2530 4

原创 Windows下限制鼠标范围

pro : LIBS += -luser32#include 具体代码:RECTmainWinRect; mainWinRect.left= (LONG)w.geometry().left();mainWinRect.right= (LONG)w.geometry().right();mainWinRect.top= (L

2017-12-22 09:55:09 1447

原创 将外部进程嵌入到Qt中

pro : LIBS += -luser32#include 备注:在QMainWindow类下面操作QString Name="notepad";HWNDSimpackWnd=FindWindow((LPCTSTR)Name.unicode(),NULL); if(SimpackWnd!=NULL) { 

2017-12-22 09:54:07 1050

转载 Qt -Ftp下载之修改文件属性(修改时间,访问时间)

来自:http://blog.csdn.net/tracybochen/article/details/8550184报文分发程序需提供这么一个功能: Qt对下载文件的时间修改(ftp,http下载)当我们下载一个文件到本地后,文件的相关属性(如修改时间,创建时间,访问时间)都会修改为下载后的系统时间。而报文分发程序中想让下载到本地的文件保留源文件的修改时间,此时我们必

2017-12-22 09:52:05 2193

原创 C++字符串 单词倒置

#include #include #include #include using namespace std;void out(string n){     cout }int main(){      char a[]="what are you doing";//变成"tahw era uoy gniod"     vector iv;

2017-12-22 09:48:46 980

转载 C++ class 和 typename 的区别

在模板定义时的class和typename是没有区别的。C++ 并不总是把 class 和 typename 视为等同的东西。有时你必须使用 typename。为了理解这一点,我们不得不讨论你会在一个 template(模板)中涉及到的两种名字。假设我们有一个函数的模板,它能取得一个 STL-compatible container(STL 兼容容器)中持有的能赋值给 ints 的对象

2017-12-22 09:45:32 237

原创 C++函数指针

#include using namespace std;int test(int,int);int _tmain(int argc, _TCHAR* argv[]){#ifdef __STDC__     cout#endif#ifdef __cplusplus     cout#endif typedef int (*pf)(int,int); 

2017-12-22 09:42:30 132

转载 c/c++经典面试题

来自:http://www.mianwww.com/html/2012/04/16174.html面试题1:变量的声明和定义有什么区别为变量分配地址和存储空间的称为定义,不分配地址的称为声明。一个变量可以在多个地方声明,但是只在一个地方定义。加入extern修饰的是变量的声明,说明此变量将在文件以外或在文件后面部分定义。说明:很多时候一个变量,只是声明不分配内存空间,直到具

2017-12-22 09:38:12 1097

原创 Qt加密source

一 pro文件中注释掉myresource.qrc文件二 rcc  -binary   myresource.qrc   -o   myresource.rcc三QResource::registerResource("/path/to/myresource.rcc");Qt助手关键字:  The Qt Resource

2017-12-09 18:42:20 366

原创 Qt在CPP文件中使用 Q_OBJECT宏

需要在后面使用:#include "xxxxx.moc"

2017-12-09 18:35:18 1578

原创 Qt 持久性序列化

把对象转换为字节序列的过程称为对象的序列化;把字节序列恢复为对象的过程称为对象的反序列化。使用友元函数friend QDataStream& operator>> (QDataStream &in,   CTest& data);    friend QDataStream& operatorQDataStream &operator>>(QDataStream &

2017-12-09 18:34:19 454

原创 Qt struct应用

#include #include struct Test {             QString str;          operator QVariant() const         {                   return QVariant::fromValue(*this);          } }; Q_DECLARE_M

2017-12-09 18:32:08 4459

原创 Qt enum使用

举例:Qt类中 public属性加入    enum T {        A,B,C,D    };     Q_ENUM(T)cpp中:#include QMetaObject mo = xx::staticMetaObject; int index = mo.indexOfEnumerator("T");    QMetaEnum meta

2017-12-09 18:31:27 26551

原创 Qt小技巧

windows锁屏LIBS += -luser32#include <Windows.h>LockWorkStation();更新属性,QSS生效this->setStyleSheet("QPushButton[xxxxx='abc']{color: yellow;}");QPushButton *btn = new QPushButton("abc",...

2017-12-09 18:27:53 249

原创 重载宏函数

参考: http://blog.nemoge.com/trick-for-overload-macro-function-in-c/#include #define F(...) f(__VA_ARGS__)int f(int a, int b, int c){ return a + b + c;}int f(int a, int b)

2017-12-09 18:22:55 482

qml_test.7z

本例子主要是创建qml单例文件类型。我用的Qt5.12 其他版本的话自己修改对应版本号......

2019-12-20

CUDA并行程序设计 GPU编程指南[中文版][完整版].pdf

CUDA并行程序设计 GPU编程指南[中文版][完整版].pdf CUDA是一种专门为提高并行程序开发效率而设计的计算架构。在构建高性能应用程序时,CUDA架构可充分发挥GPU的强大计算功能,颇受广大开发者拥趸。本书以并行编程实践者视角,展示了全面、快速提升CUDA程序效能的途径......

2019-01-04

CUDA C编程权威指南 (完整版).pdf

CUDA C编程权威指南 (高性能计算技术丛书)完整版.pdf

2019-01-04

[GPU高性能编程CUDA实战].(桑德斯).聂雪军等.扫描版

[GPU高性能编程CUDA实战].(桑德斯).聂雪军等.扫描版 完整版.

2019-01-04

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除