自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Qt中自定义qDebug打印信息的宏(文件名,行数,时间等等)

前言QDebug类提供用于调试信息的输出流。当开发人员需要将调试或跟踪信息写到设备,文件,字符串或控制台时,将使用QDebug。当我们使用qDebug()打印信息时,只有我们所需要打印的信息,在此自定义一个宏,可以额外打印文件名,函数,行数,时间等等。示例#include <QDebug>//注意,头文件一定要添加#define MYLOG qDebug(...

2019-11-28 10:54:52 5070

原创 vector<char>与char*相互转换

最近在做网络通信,看到很多人使用vector<char>来存储二进制网络数据,而我有时需要用char*数据,所以记录下二者的相互转换方法,代码如下:#include <cstring>#include <vector>using namespace std;int main(int argc, char *argv[]){ vector...

2019-11-21 18:00:02 18037 1

原创 QMap的简单使用(增删改查等)

前言QMap是Qt提供的容器类,是一种由key到value的映射。与C++中STL提供的map使用方法相同,部分使用细节上,QMap做了优化。插入QMap<int, QString> mapTest_;mapTest_.insert(1, "1111"); //直接插入mapTest_[2] = "2222"; //另一种方式的插入if(!mapT...

2019-11-20 15:47:42 12334

原创 QLockFile实现只运行一个程序实例

前言我们有时候希望程序只运行一个实例,避免同程序相互竞争,在上一章写到用QLockFile实现独占的方式读写文件后,意外发现QLockFile作为“防火墙”就可以实现这个要求。Qt中QLockFile实现以独占的方式读写文件实现在程序的main函数中,用QLockFile创建一个临时文件,程序关闭则临时文件清除,如果此时有第二个或多个同程序启动,就会创建文件失败,直接返回,那么第二...

2019-10-12 17:48:39 630

原创 Qt编译出错:undefined reference to `vtable for XXX'

前提在一个已编译的Qt项目中添加了一个类,该类未继承QObject且未在头文件添加Q_OBJECT,如下://MySignalSlot.h文件#ifndef MYSIGNALSLOT_H#define MYSIGNALSLOT_Hclass MySignalSlot{public: MySignalSlot();};#endif // MYSIGNALSLOT_...

2019-10-09 17:55:02 590

原创 Qt中QLockFile实现以独占的方式读写文件

前提当不同进程或线程读写同一个文件时,会导致冲突,那么这个时候就需要以独占的方式来读写文件(更好的方法是共享读,互斥写,此处不做讨论)。问题查询Qt的帮助文档,发现QLockFile类,该类提供使用文件的进程之间的锁定,比较接近我的要求。但是用过以后发现QLockFile根本没有继承QIODevice,也没有提供任何文件读写接口。只是在lock()/tryLock()的时候自动生成...

2019-10-09 09:41:25 4780 4

原创 QTableWidget中添加QComboBox/QPushButton控件并响应控件点击

QTableWidget是QT程序中常用的显示数据表格的空间,里面不仅仅可以添加文字,也可以添加控件,图片等等,此处以添加QCombobox和QPushButton举例,点击选择控件以后,可以获得哪一行哪一列的信息。主要是以下几行代码://创建一个QComboBox控件QComboBox *comBox_ = new QComboBox();//设置QComboBox的itemco...

2019-10-08 13:41:54 9301 4

原创 Qt绘制电量图

效果图:最近在整理代码,发现我之前做的一个demo,绘制简单的电量显示图,感觉蛮有意思的,区别于现在类似手机上进度条似的电量显示,在此分享一下,希望大家喜欢!代码:/** ****************************************************************************** * @file MyStorag...

2019-09-30 11:26:49 1625

原创 C/C++获取CPU核数

最近开始做服务器,要求获取当前的CPU核数,就做了个Demo,获取CPU核数。系统环境:ubuntu16.04CPU信息:Intel® Core™ i5-7200U CPU @ 2.50GHz × 4代码如下(跨平台):#include <stdio.h>#if WIN32#include "windows.h"#else#include "unistd.h"...

2019-09-27 15:47:33 3616 1

原创 C++实现WebSocket解析协议

前提:本人最近做的项目,服务器端用的是C++写的,而与客户端交互用的是websocket,服务器端要想正常的使用数据,必须要对websocket协议进行解析。解析握手协议见我上一章内容: C++实现websocket服务器握手协议WebSocket数据格式FIN:表示这个数据是不是接收完毕,为1表示收到的数据是完整的,占1bit RSV1~3:用于扩展,通常都为0,各占1bi...

2019-09-27 14:35:19 2478 1

原创 Qt执行bash命令并获取返回结果

当我们在命令行执行相应操作时,会有对应的结果显示,如在ubuntu的终端输入:ls,显示如下:tck@tck:~/learn/MyProcess/MyProcess$ lsmain.cpp MyProcess.pro MyProcess.pro.usertck@tck:~/learn/MyProcess/MyProcess$ 那么当我们代码中执行相应的bash命令,如何获取返回的...

2019-09-26 17:25:38 3903 1

原创 Qt中继承QWidget设置样式表失效

在使用Qt的界面时,经常会自定义控件,当我们自定义QWidget控件,即写一个MyWidget,继承自QWidget,在MyWidget中设置样式表,实际运行程序,会发现样式表设置没有效果。原因:qt的样式表需要通过paintEvent函数来实现,而继承自QWidget的控件,QWidget的paintEvent函数实现为空,也就导致了设置样式表是无法生效的。解决方法:在继承的类中,重...

2019-09-26 15:14:33 1655

原创 Lubuntu自动登录(修改配置文件)

使用Lubuntu系统时,有时需要开机自动登录,无需输入密码这一繁琐项,只需要修改两个配置文件即可。1. 修改/etc/lxdm/default.conf文件命令行输入命令:sudo nano /etc/lxdm/default.conf修改或添加一行:autologin = tck #autologin需要自己根据系统用户名填写,本人此处用户名tck2. 修...

2019-09-26 14:47:13 2237

原创 C++实现websocket服务器握手协议(使用Qt)

前提:笔者在开发server程序时,要求websocket与server连接websocket的机制是在第一次连接时进行握手协议,协议通过,才可以进行正常的通信,否则websocket就会断开连接;下面就是websocket第一次发送的握手包:GET / HTTP/1.1\r\nHost: 192.168.5.24:17913\r\nUser-Agent: Mozilla/5.0...

2019-09-25 16:39:04 1834

原创 Qt中通过Qpixmap设置图片透明度

最近看到美图秀秀的一些功能,可以手动设置图片的透明度并显示在其它图片上,所以自己动手做了个小Demo,实际效果如下:(图片仅供参考使用)可以看到拖动下方进度条,可以控制左上角图片的透明度。方法如下:新建一个Qt项目,在UI界面上拖放一个QLabel和一个QSlider,设置QSlider的数值范围为0~255,简单布局下即可。代码如下:#ifndef WIDGET_H...

2019-09-06 14:34:53 9462 1

原创 undefined reference to `boost::system::generic_category()'

在学习boost::asio时,第一次使用,编译出现问题:代码如下:#include <boost/asio.hpp>#include <boost/thread.hpp>#include <iostream>void handle1(const boost::system::error_code &ec){ std::cou...

2019-09-06 11:21:00 2251

原创 Qt对当前界面进行截图并保存

Qt提供了对界面截图的功能,非常简单,只需要2行即可截图并保存下来,如下:QPixmap pixMap_ = QPixmap::grabWidget(this);pixMap_.save("./myImage.png");只为记录,只为分享! 愿所写能对你有所帮助。不忘记点个赞,谢谢~...

2019-09-05 14:51:01 2788 1

原创 linux下解决alsamixer重启后设置失效的问题

为了解决麦克风增强会增加噪音录入,故使用alsamixer将麦克风增强关闭(0%);设置了麦克风增强以后,并保存,但是每次重启后,之前设置的alsamixer又会被重置。保存设置为:alsactl --file ~/asound.state store为了解决此问题,我写了个脚本来解决,脚本名称:autoStartAudio.sh脚本路径是:/home/t3/脚本如下:...

2019-09-05 14:46:14 2272

原创 QT绘制仪表盘

最近在整理代码,发现以前写的绘制仪表盘Demo,特发出记录下。显示的效果如下:直接上代码:#ifndef T3DASHBOARD_H#define T3DASHBOARD_H/** ****************************************************************************** * 公司 T3 *...

2019-09-05 13:48:11 3676

原创 QT实现鼠标右键快捷菜单(QTableWidget)

对于右键点击事件,这里用到的是Qt::CustomContextMenu方法,本例通过右点QTableWidget,显示下拉菜单,同时获得点击的行号。 ui界面如下图: //customContextMenuRequested(QPoint)信号是QWidget中唯一右键菜单点击的信号,该信号发出的条件是:widget的ContextMenuPolicy必须是Qt::CustomContex

2016-08-03 16:31:23 12832 2

原创 解决QCombobox使用调用clear()崩溃的问题(currentIndexChanged信号问题)

使用QCombobox调用clear()来清除下拉框选项时,会出现程序崩溃的现象,而经过调试发现,问题出在connect (ui->comboBox,SIGNAL(currentIndexChanged(int)),this,SLOT(slotNameCom(int)))中的槽函数,槽函数slotNameCom如下所示:void C_Del_user::slotNameCom(in...

2016-07-06 14:01:15 5281 1

空空如也

空空如也

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

TA关注的人

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