![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Qt
TanChengkai
这个作者很懒,什么都没留下…
展开
-
Qt中自定义qDebug打印信息的宏(文件名,行数,时间等等)
前言QDebug类提供用于调试信息的输出流。当开发人员需要将调试或跟踪信息写到设备,文件,字符串或控制台时,将使用QDebug。当我们使用qDebug()打印信息时,只有我们所需要打印的信息,在此自定义一个宏,可以额外打印文件名,函数,行数,时间等等。示例#include <QDebug>//注意,头文件一定要添加#define MYLOG qDebug(...原创 2019-11-28 10:54:52 · 5138 阅读 · 0 评论 -
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 · 12545 阅读 · 0 评论 -
QLockFile实现只运行一个程序实例
前言我们有时候希望程序只运行一个实例,避免同程序相互竞争,在上一章写到用QLockFile实现独占的方式读写文件后,意外发现QLockFile作为“防火墙”就可以实现这个要求。Qt中QLockFile实现以独占的方式读写文件实现在程序的main函数中,用QLockFile创建一个临时文件,程序关闭则临时文件清除,如果此时有第二个或多个同程序启动,就会创建文件失败,直接返回,那么第二...原创 2019-10-12 17:48:39 · 656 阅读 · 1 评论 -
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 · 598 阅读 · 0 评论 -
Qt中QLockFile实现以独占的方式读写文件
前提当不同进程或线程读写同一个文件时,会导致冲突,那么这个时候就需要以独占的方式来读写文件(更好的方法是共享读,互斥写,此处不做讨论)。问题查询Qt的帮助文档,发现QLockFile类,该类提供使用文件的进程之间的锁定,比较接近我的要求。但是用过以后发现QLockFile根本没有继承QIODevice,也没有提供任何文件读写接口。只是在lock()/tryLock()的时候自动生成...原创 2019-10-09 09:41:25 · 4894 阅读 · 4 评论 -
QTableWidget中添加QComboBox/QPushButton控件并响应控件点击
QTableWidget是QT程序中常用的显示数据表格的空间,里面不仅仅可以添加文字,也可以添加控件,图片等等,此处以添加QCombobox和QPushButton举例,点击选择控件以后,可以获得哪一行哪一列的信息。主要是以下几行代码://创建一个QComboBox控件QComboBox *comBox_ = new QComboBox();//设置QComboBox的itemco...原创 2019-10-08 13:41:54 · 9513 阅读 · 6 评论 -
Qt绘制电量图
效果图:最近在整理代码,发现我之前做的一个demo,绘制简单的电量显示图,感觉蛮有意思的,区别于现在类似手机上进度条似的电量显示,在此分享一下,希望大家喜欢!代码:/** ****************************************************************************** * @file MyStorag...原创 2019-09-30 11:26:49 · 1644 阅读 · 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 · 3937 阅读 · 1 评论 -
Qt中继承QWidget设置样式表失效
在使用Qt的界面时,经常会自定义控件,当我们自定义QWidget控件,即写一个MyWidget,继承自QWidget,在MyWidget中设置样式表,实际运行程序,会发现样式表设置没有效果。原因:qt的样式表需要通过paintEvent函数来实现,而继承自QWidget的控件,QWidget的paintEvent函数实现为空,也就导致了设置样式表是无法生效的。解决方法:在继承的类中,重...原创 2019-09-26 15:14:33 · 1673 阅读 · 0 评论 -
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 · 1852 阅读 · 1 评论 -
Qt中通过Qpixmap设置图片透明度
最近看到美图秀秀的一些功能,可以手动设置图片的透明度并显示在其它图片上,所以自己动手做了个小Demo,实际效果如下:(图片仅供参考使用)可以看到拖动下方进度条,可以控制左上角图片的透明度。方法如下:新建一个Qt项目,在UI界面上拖放一个QLabel和一个QSlider,设置QSlider的数值范围为0~255,简单布局下即可。代码如下:#ifndef WIDGET_H...原创 2019-09-06 14:34:53 · 9528 阅读 · 2 评论 -
Qt对当前界面进行截图并保存
Qt提供了对界面截图的功能,非常简单,只需要2行即可截图并保存下来,如下:QPixmap pixMap_ = QPixmap::grabWidget(this);pixMap_.save("./myImage.png");只为记录,只为分享! 愿所写能对你有所帮助。不忘记点个赞,谢谢~...原创 2019-09-05 14:51:01 · 2835 阅读 · 2 评论 -
QT绘制仪表盘
最近在整理代码,发现以前写的绘制仪表盘Demo,特发出记录下。显示的效果如下:直接上代码:#ifndef T3DASHBOARD_H#define T3DASHBOARD_H/** ****************************************************************************** * 公司 T3 *...原创 2019-09-05 13:48:11 · 3701 阅读 · 1 评论 -
QT实现鼠标右键快捷菜单(QTableWidget)
对于右键点击事件,这里用到的是Qt::CustomContextMenu方法,本例通过右点QTableWidget,显示下拉菜单,同时获得点击的行号。 ui界面如下图: //customContextMenuRequested(QPoint)信号是QWidget中唯一右键菜单点击的信号,该信号发出的条件是:widget的ContextMenuPolicy必须是Qt::CustomContex原创 2016-08-03 16:31:23 · 12871 阅读 · 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 · 5357 阅读 · 1 评论