自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(22)
  • 收藏
  • 关注

原创 推荐几款最好用的MySQL开源客户端,建议收藏!

破解虽好使,但是真的不推荐大家采纳,自己学习一下还可以,但尽量别拿出来直接用。但是,天下没有免费的午餐,这些客户端都是收费型的,以 Navicat 为例,如果是个人版的,一年的使用费是 2899 元,可以免费享受升级服务,当然也可以一次性购买,费用为 5699元,但是无法免费享受服务升级,企业版的就更贵了。

2023-04-23 16:33:30 1633

原创 QT渐变QLinearGradient

Qt有三种渐变画刷:线性渐变(QLinearGradient)、辐射渐变(QRadialGradient)、角度渐变(QConicalGradient)。以线性渐变来说,有两种方式设置渐变,一是通过qss,二是代码重写paintEvent处理。一、qss:设置QLabel的背景色"QLabel{background-color: qlineargradient(x1:0, y1:0, x2:0, y2:1, stop:0 red, stop:1 green)}"对QLabel的color是不起作

2021-09-22 15:24:33 3336

原创 Linux条件变量为什么要与互斥锁一起使用

pthread_cond_init.man:源码内容中的介绍A condition variable must always be associated with a mutex, to avoidthe race condition where a thread prepares to wait on a conditionvariable and another thread signals the condition just before thefirst thread actually

2021-09-02 11:08:13 896

原创 C++连接mysql数据库

参考:https://blog.youkuaiyun.com/csdndenglu/article/details/90906120注意点:较低版本的MySQL Connector/C++ (如:8.0.16版本,是2019年版本),头文件中包含了boost库的头文件,使用了boost的智能指针,所以需要安装boost库并附加包含目录中包含头文件目录。高版本的MySQL Connector/C++(使用的是8.0.26版本,是2021年版本),使用的是C++11的智能指针,不用包含boost库...

2021-09-01 09:49:00 204

原创 C++11中的:移动语义(std::move)、完美转发(std::forward)、std::ref和std::cref

移动语义(std::move)在C++11中,标准库在<utility>中提供了一个有用的函数std::move,std::move并不移动任何对象与数据,它的功能是将一个左值或者右值强制转化为右值引用,std::move基本等同于一个类型转换:static_cast<T&&>(lvalue)。td::move解决效率问题,减少不必要的拷贝:A对象可以根据右值引用知道传入的是一个临时的对象B,把临时对象B中的堆内存数据(可能是大数据块)直接使用而不重新分配内.

2021-07-30 11:32:23 635

原创 QAudioDeviceInfo::availableDevices 获取语音输入设备问题

一、 插入了语音输入设备,但是下边代码返回语音输入设备为空 QAudioDeviceInfo::availableDevices(QAudio::AudioInput);解决:需要把qt 的 plugins 文件下 的 plugins/audio 文件夹拷贝到exe路径下。可以正常读取二、QAudioDeviceInfo::availableDevices(QAudio::AudioInput); 插入了一个语音设备,返回两个同名的设备信息解决:plugins/audio 文件夹下的dll文件

2021-07-15 16:04:29 2533

原创 透明与半透明

一、paintEvent的方式实现 窗口中的一部分是透明,一部分是半透明class CWgt : public QDialog{public: CWgt (QWidget *parent = 0) : QDialog(parent), m_playerRect(QPoint(1, 0), QPoint(0, 0)) { //设置背景色透明(透明的部分,鼠标点击,鼠标信号会透传到下层控件) setAttribute(Qt::WA_TranslucentBackground, true);

2021-06-29 15:10:52 587

原创 Qt--浮动子窗口

子窗口在父窗口上方浮动显示,点击父窗口,子窗口不会被父窗口覆盖,有如下3种方法:1、继承自QDialog,使用show()方法显示窗口。dialog->show();2、继承自QWidget,设置窗口标志Qt::Tool。widget->setWindowFlags(Qt::Tool);3、继承自QWidget,设置窗口标志Qt::WindowStaysOnTopHint。这个标志是对于所有程序的窗口都置顶。也就是说其他程序打开后也是会被置顶的窗口所遮盖。widget->s

2021-05-17 11:19:22 2600

原创 补码计算(-128补码)

什么是补码?怎么求补码?看看书,就会知道,补码,是有严格定义的。按照定义来求补码,就用不着涉及原码反码。如果,非要用求反加一的做法,就难免碰上原码反码。但是,八位码长的限制下,-128,既没有原码,也没有反码。这时,你还要用求反加一的做法,就一定会碰的头破血流。------------按照补码的定义,负数的补码,定义如下: [ X ]补 = 模-| X |按照定义,-128,如下求补码。 [-128]补 = 256-|-128| = 128写成二进制,就是:1000 0000。---

2021-03-16 16:26:21 5561 3

原创 补码(-128的补码)

二进制的负数在计算机中采用补码的方式表示。很多人很好奇为什么使用补码,直接使用原码表示多好,看上去更加直观和易于计算。然而事实告诉我们,这种直观只是我们人类的一厢情愿罢了,在计算机看来,补码才是它们最想要的。那么,为什么计算机使用补码更好,又是如何通过补码来计算数值的呢?我看过网络上很多解释补码的文章,几乎一致的回答就是符号位不变,其他各位逐位求反再加一。在此我想说,这些都不是根本原理。谁都知道这么求,数电第一章就明确写了怎么求,关键是为什么这么算,其中的原理是什么?本文主要的内容就是深入讲解补码的原.

2021-03-16 16:24:24 1039

原创 QAudioOutput播放声音

QAudioOutput::setVolume设置声音大小之后,声音会出现噪音解决办法是setSampleType由UnSignedInt改为SignedIntQAudioFormat fmt;fmt.setSampleType(QAudioFormat::SignedInt);参考自:https://stackoverflow.com/questions/32821706/noise-after-changing-volume-in-qaudiooutput...

2021-02-16 23:36:12 1330

原创 qCDebug输出到日志文件

第一步:通过QLoggingCategory 类进行日志的输出只说明了一种方式,其他方式可查看QLoggingCategory 说明文档。第一步设置完成,可以在控制台输出窗口查看到qCDebug的输出信息。1.1 声明与创建QLoggingCategory//在头文件中添加声明testlog对象Q_DECLARE_LOGGING_CATEGORY(testlog)//在对应的cpp文件中添加testlog的定义,可配置文件为testlog.log,第3个参数没传,表示所有QtMsgType

2021-01-26 15:59:28 3041

原创 QT拖拽事件分析

QT拖拽流程与源码解析https://blog.youkuaiyun.com/hjing1988/article/details/42131617qt拖拽内部调用的是windows的阻塞函数 DoDragDropDoDragDrop 方法的使用:https://www.cnblogs.com/JingCaiRenSheng/archive/2011/12/15/DoDragDrop.html

2021-01-21 11:42:47 758

原创 QT 可重入与线程安全

可重入与线程安全Reentrancy and Thread-SafetyThroughout the documentation, the terms reentrant and thread-safe are used to mark classes and functions to indicate how they can be used in multithread applications:A thread-safe function can be called simultaneousl

2020-12-24 11:32:55 147

原创 Qt 网络编程之HTTP通信(QNetworkRequest、QNetworkReply、NetworkAccessManager)

简介Qt网络模块提供了一些类实现OSI 7层网络模型中高层的网络协议,如HTTP、FTP、SNMP等这些类主要为:QNetworkRequest类:通过一个URL地址发起网络协议请求,也保存网络请求的信息,目前支持HTTP、FTP和局部文件URLs的下载或上传The QNetworkRequest class holds a request to be sent with QNetworkAccessManager.QNetworkRequest is part of the Netw

2020-12-24 11:27:46 2080

原创 QAxBase、QAxObject 与 QAxWidget

QAxBase 是抽象类,提供初始化及访问com对象的接口The QAxBase class is an abstract class that provides an API to initialize and access a COM objectQAxObject 与 QAxWidget 是QAxBase的子类QAxObjectQAxObject 继承自QAxBase 与 QObjectQAxObject 是包含com对象的QObjectThe QAxObject class provi

2020-12-23 15:53:12 962

原创 使用QWebEngineView嵌入网页

安装QT时需要勾选 Qt WebEngine 模块ui文件中放入控件QWebEngineView附加依赖项中添加:Qt5WebEngineWidgets.lib (其他相关的可不用添加 Qt5WebEngineCore.libQt5WebChannel.lib)代码中加载对应的url:ui.webEngineView->setUrl(QUrl(“www.xxx.com”));ui.webEngineView->show();...

2020-12-23 15:32:18 804

原创 QPushButton设置-图片在左文字在右

设置样式QPushButton调用setStyleSheet(str)str为下方设置:QPushButton{ background-image: url(./image.png);//图片 background-repeat: no-repeat; background-origin: padding;//图片区域 background-position: left;//图片位置 padding-left:20px;//图片占用区域大小 border: none; backg

2020-12-22 16:34:54 6239 1

原创 QComboBox样式设置-右侧按钮-下拉列表

1. 设置下拉列表ui.comboBox->setView(new QListView());2.设置样式QString style;调用 ui.comboBox->setStyleSheet(style)style为下边的内容://QComboBox的样式QComboBox{ border:none; background:#ff0000; color:#ffffff; padding-left:3px;}//QComboBox右侧下拉按钮的样式QCombo

2020-12-22 15:14:07 5519

原创 QT 属性动画–创建动画流程

QT 属性动画–创建动画流程//1.创建动画,动画对象和对应属性QPropertyAnimation *pAnimation = new QPropertyAnimation(m_pLabel, “geometry”);//2.设置持续时间pAnimation->setDuration(1000);//3.设置起止值,或者调用setKeyValueAt函数,设置每一步的值pAnimation->setStartValue(QRect(0, 0, 25, 25));pAnimati

2020-12-18 16:19:24 305 1

原创 矢量图svg转png的简单方法

矢量图svg转png的简单方法用IE浏览器打开svg图片图片上右键,选择图片另存为选择路径,选择保存的格式为png,或bmp,保存图片

2020-12-17 15:24:30 2183

转载 QToolTip样式设置的两种方式

方式一使用样式表设置label->setStyleSheet("QToolTip{border:1px solid rgb(118, 118, 118); background-color: #ffffff; color:#484848; font-size:12px;}"); //设置边框, 边框色, 背景色, 字体色, 字号label->setToolTip("tooltip text!");方式二使用调色板设置//设置QToolTip颜色QPalette palette =

2020-11-26 20:21:32 1500

空空如也

空空如也

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

TA关注的人

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