自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

后知后觉

云在青天水在瓶

  • 博客(45)
  • 资源 (2)
  • 收藏
  • 关注

原创 qml绘制竖直刻度尺(加动态效果)

有一个需求要绘制表示深度刻度尺,联想到qml中的Slider有可以拖动的游标,再结合自定义的刻度,是不是可以实现呢?使用:创建一个qml工程,上述代码替换掉main.qml即可,其中图片文件自行更换。代码仅供参考,还是可以优化的地方。

2024-09-10 16:29:22 373

原创 Qt自定义控件之提升法

新建一个Qt的界面项目,使用QWidget类作为主界面,再增加一个MyBattery的UI类,继承自QWidget类,然后重载void paintEvent(QPaintEvent *event)函数,在里面进行绘制的操作。在设计师中打开mybattery.ui,找到控件QWidget-电池的绘制对象,右键->提升,在提升的界面中,增加MyBattery提升上,注意继承自QWidget,与之前的保持一致。添加后,再点击提升。:绘制完毕后,通过QtCreator的设计界面找到控件并进行提升为自定义的控件类;

2024-08-19 17:47:48 546

原创 Windows下通过CMake编译hiredis及应用

4、 点击“Configure”进行编译器的配置,选择MinGW Makefiles,然后下面的选项中:第一个是默认选项“Use default native compilers”,如果电脑中装了多个编译器的话,最好手动配置编译器的版本,往往实际工程中有版本的要求或限制。如果你要生成的是Release版本,则填写:Release;1、 在下载的redis-6.2.12.tar.gz的压缩包中,解压后有个deps文件夹,里面有个hiredis文件夹,是我们访问redis的C接口,需要我们手动编译后才能使用。

2023-04-20 15:39:57 1447

原创 Linux通过Redis源码安装Redis-server

redis-sever安装

2023-04-20 15:32:13 513

原创 5、模式三:观察者模式(Observer)

1、动机:在软件构建过程中,我们需要为某些对象建立一种“通知依赖关系”——一个对象(目标对象)的状态如果发生改变,所有的依赖对象(观察者对象)都将得到通知。使用面向对象技术,可以将这种依赖关系弱化,并形成一种稳定的依赖关系。2、定义:定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(Subject)的状态发生改变时,所有依赖于它的对象都得到通知并自动更新。——《设计模式》GoF。3.1使用面向对象的抽象,Observer模式使得我们可以独立的改变目标与观察者,从而使二者之间的依赖关系达到松耦合;

2023-03-29 23:32:54 121

原创 4、模式二:策略模式(Strategy)

1、动机:在软件构建过程中,某些对象使用的算法可能多种多样,经常改变,如果将这些算法都编码到对象中,将会使对象变得异常复杂;而且有时候支持不使用的算法也是一个性能负担,使用策略模式使得代码具有很好的本地性,而且能提高运行性能。—《设计模式》GoF。3.3 如果Strategy对象没有实例变量,那么各个上下文可以共享同一个Strategy对象,从而节省对象开销(如果只在中国计算税法(代码例子),可用Singleton来创建)。如果需求变更需要增加一个国家的税法计算,只需要创建一个新的类,继承自基类即可。

2023-03-28 23:30:29 214

原创 3、模式一:模板方法(Template Method)

设计模式、模板方法

2023-03-27 23:03:40 313

转载 2、面向对象设计原则

面向对象设计原则

2023-03-25 22:53:29 702

原创 1、设计模式简介(附源码)

附基于Qt的实例代码链接: [link]链接: https://pan.baidu.com/s/1q9tcpi8BNwp8BcLrR3v98A?pwd=m5t7 提取码: m5t7。每一个模式描述了一个在我们周围不断重复发生的问题,以及对该问题的解决方案的核心。人们面对复杂性有一个常见的做法:即分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单问题!由于不能掌握全部的复杂对象,我们选择忽视它们的非本质细节,而去处理泛化和理想化了的对象模型!2.推荐书籍:《设计模式:可复用面向对象软件的基础》

2023-03-24 21:54:37 71

原创 mpg123播放器的安装与使用

4.2 在"include ld.so.conf.d/*.conf"下方增加"/usr/local/lib"本文非原创,是根据实际操作过程及其遇到的问题,百度后集合几个博主的文章而得,算是一个搬运或集成者!1、找到安装包:http://www.mpg123.de/download/?7、使用命令:mpg123 -f 6000 1.mp3 播放音频文件,正常播放!5、再次运行mpg123 --version看到版本号,4.1 打开/etc/ld.so.conf文件。4.3 在命令行终端执行。

2023-03-15 10:16:06 1837 10

原创 通过NFS在单机板搭建共享文件夹

前言之前拷贝可执行程序、配置文件等等信息到嵌入式平台时,一般都会用到tftp工具,Xshell、SSH等等,可视化工具还好,直接拖拽即可,当有时候只支持tftp服务时,就需要敲命令,比较繁琐。故,可通过搭建nfs服务来实现文件共享,方便快捷!NFS 简要说明NFS(Network File System)即网络文件系统,是FreeBSD支持的文件系统中的一种,它允许网络中的计算机之间...

2018-10-29 19:44:30 584

原创 虚拟机CentOS7安装python3.6.2及requests模块的问题汇总

直接开门见山的说了。 1.在虚拟机上安装完成CentOS7后要先装上或者更新gcc、g++版本。yum install gccyum install gcc-c++2.python的官网下载对应的python源码,解压后进行编译,我存放的目录是/usr/local/python3.6.2下, cd 到python3.6.2,编译三部曲,你懂的!输入命令:./configure --prefi

2017-08-12 14:01:44 4131

原创 CentOS下删除已安装的jre包

在安装eclispe过程中,由于某种原因,把安装好的jre包删除。可能是由于下的包错了等等。好了,删的特别干脆特别果敢!恩,很有勇气!rm -Rf /usr/javaEnter 一敲,然后当你再继续安装这个包的时候,rpm -ivh jre-8u131-linux-i586.rpm你该哭了:明明删除了可这又是什么情况!很郁闷。解决的方法是:rpm -qa :查看所有安装的服务。 找到所安

2017-06-23 10:58:27 675

原创 QListWidget的item检测到被选中行为

在维护同事的一个程序时,发现一个小bug。具体情形是这样:有一个对话框,用户可选中QListWidget中的某一项进行打开删除操作;在进行删除操作时,没有去判断item是否被选中进执行删除操作,会引起程序崩溃问题。于是就有了这篇小文。直接上代码:.h#ifndef WIDGET_H#define WIDGET_H#include <QWidget>namespace Ui {class Wid

2017-06-01 08:18:31 23156

转载 如何阅读别人的源代码

网上搜到的一篇介绍阅读别人源代码的方法,放在这里,有空可以查看。 阅读别人的代码作为开发人员是一件经常要做的事情。一个是学习新的编程语言的时候通过阅读别人的代码是一个最好的学习方法,另外是积累编程经验。如果你有机会阅读一些操作系统的代码会帮助你理解一些基本的原理。还有就是在你作为一个质量保证人员或一个小领导的时候如果你要做白盒测试的时候没有阅读代码的能力是不能完成相应的任务。最后一个就是如果你

2017-05-31 14:13:43 1292

原创 Windows下编译MICO源代码遇到的问题

在使用MICO库时需要从其官网上下载源代码文件然后进行重新编译。在解压后的文件根目录下有一个”Makefile.win32”文件夹是专门针对windows底下编译时的说明,目前我只在32-bit系统上编译通过。 下面就我在编译的过程中遇到的问题进行总结,对于编译器的错误,我觉得大部分我们都应该看懂并且大概是什么情况,然后进行百度,一般你遇到的问题前人都遇到过。 1.应使用vc6.0以上版本的VC

2017-04-15 21:57:20 924

原创 QProgressBar水平、垂直样式表两种设置方式

先贴效果图: 水平滚动条: m_progressBarHor = new QProgressBar(this); m_progressBarHor->move(50,200); m_progressBarHor->setValue(42); m_progressBarHor->setRange(0,100); m_progressBarHor->setMinim

2017-02-08 10:16:57 4572

原创 QGroupBox标题下榻、显示不全等情况

在使用Qss对QGroupBox进行渲染的时候,经常会遇到QGroupBox的标题出现下榻,显示不全或者不对称等问题。下面截图为例: 图1.左边显示有问题 图2.下榻情况 图3.不对称 以上三种情况均因为对QSS中的top bottom left margin-top等相关属性设置不当引起的。贴一段QGroupBox的样式表设置代码:m_GroupBox-

2017-02-08 09:17:19 12166

原创 Qt之QButtonGroup简单使用

在项目中遇到一个需求,根据外部条件来确定你的界面上显示多少个按钮。于是,写一个小程序测试了下,效果还可以。 主要用到QButtonGroup类,需要包含头文件,接着申请一个按钮数组对象QButtonGroup *buttonGroup,所有的按钮在ui中定义好了。 下面贴代码: .h文件:#include <QWidget>#include <QButtonGroup>#include <

2016-11-29 14:14:30 39741 7

原创 Qt遇到"Cannot obtain a handle to the inferior:参数错误"

昨天复制粘贴复制粘贴的写了一个测试小例子,运行程序后出现这个问题,把我看傻了。能正常运行啊,没什么错误,这哪里来的。噔噔,发现 把”a.exec()”这个给屏蔽掉了。在stackoverflow上也有人遇到过,是因为没有调用QCoreApplication 对象。哈,这么奇葩的事都能遇到。int main(int argc, char *argv[]){ QCoreApplication

2016-11-19 08:58:27 1578

原创 Qt5.4.2连接Mysql

新建一个基于控制台的工程用来进行Mysql连接的测试,在.pro文件中添加QT += sql以便引用Qt数据库的头文件。 代码如下:#include <QCoreApplication>#include <QSqlDatabase>#include <QDebug>#include <QSqlError>int main(int argc, char *argv[]){

2016-11-02 21:27:42 826

原创 ubuntu14.04下安装配置Qt4.8.6

前一篇博客里介绍了如何在虚拟机下安装ubuntu14.04,当系统安装完毕后,就迫不及待的想使用了吧。 1.选择连接的网络,这个是没问题的,也不需要别的配置; 2.里面自带的浏览器是火狐浏览器,默认的搜索引擎是谷歌,所以想用百度的话,直接输入网址就好了; 3.我觉得首先要安装输入法,因为ubuntu系统语言是英文的,所以,想使用中文的话,建议下载搜狗输入法,在它的官网上有安装说明,但是在ubu

2016-10-29 09:12:24 1917

原创 VMware10安装ubuntu14.04

前两天一直在折腾使用wubi安装ubuntu,构成win7和Linux双系统,无奈安装14.04时一直报错也没找到解决方法,后来想了想还不如安装个虚拟机来的方便,不需要在两个系统之间来回切换,省去不必要的麻烦。 安装方法很简单,但是还是记录下以便以后之需。 1.安装VMware10虚拟机,我之前有这个版本的,所以也不关注新的版本了,如果在网上没找到的或者需要破解的可留言下留邮箱。这个的安装是傻瓜

2016-10-28 10:19:51 955

原创 推荐一个类似于国内知乎国外网站-Quora

好像是在知乎上随意浏览时中看到Quora这个社区的,模糊的记得知主当时给的评价是Quora上有很多大咖,职业遍布各个领域,对一些问题的看法比较新颖,还可以这么说,足不出户就可以感受到贴切的英语环境。抱着好奇的心里就登录上去看看了,因为之前有注册过hotmail邮箱。嗯,刚开始登录进去的时候,不知道怎么玩(哈,说的好通俗)。还有一个原因是本身一直在背单词,不知道阅读量是否有所长进,也找不到好的英文网站

2016-10-22 14:56:09 19796 1

原创 QQueue的反向遍历小栗子

可能因为某个具体的需求,需要对QQueue容器内的数据进行反向遍历,即从尾到头进行遍历。因对数据结构各种容器模板没有过多的见解,遂不献丑,相关问题不明白的自行查看相关文档或者百度。 下面是我写的一个小栗子: 1.首先构建一个类:它的作用很简单就是保存几个设备的相关数据; devicedata.h#ifndef DEVICEDATA_H#define DEVICEDATA_H#include

2016-10-11 14:47:53 1717 1

原创 Qt之简易转盘抽奖

额,忘记了哪位哲人说过:“站在巨人的肩膀上,我们能看得更高!”嗯,大概就是这个意思了。这两天学习“一去二三里”大神博客里的Qt绘图事件,其中有一篇涉及到画圆盘,突然有想法,写个简易的抽奖小demo。了解了这种抽奖的原理和机制后,马丹,幸好没有买过各种彩票之类的,各种奖项的概率值分明是设置出来的嘛(我程序里是写死了)..好,先截个图: 简易能用。。哈哈 头文件代码如下:#ifndef WIDGET

2016-09-30 14:24:01 5013 3

转载 如何成为有趣的人(转)

一直以为觉得自己呆板不懂幽默,与人相处不会让人感到愉悦。偶然间看到一篇文章,觉得还不错,遂分享。 文 | 陆JJ王小波说:“趣味是感觉这个世界美好的前提。”一个人若是被外界评价为“有趣的”,那已是一个极高的评价了。许多评价语汇都有短板。比如,你被人评价为“勤奋的”,此词虽为褒义,但它并非让人满意,难免会觉得对方带有挖苦意味。你心想:“玛德老子明明是个天才型选手,你竟然说我勤奋?”再比如,

2016-09-27 09:33:46 603 1

原创 QComboBox下拉框虚线去除的两种处理方法

QComboBox控件在进行下拉选项选择时,会出现方形的虚线,让人看了很不自在。那么,这虚线怎么去掉呢? 方法一:在QSS样式表里可以设置(推荐此方法) " QComboBox QAbstractItemView {" "border: 1px solid darkgray;" "border-radius:

2016-09-23 11:26:50 5923

原创 Qt之窗体任意拖拽两种方法

在Qt程序中,当隐藏掉窗体的标题栏之后,如果不重写鼠标移动事件,我们是无法通过鼠标任意拖拽窗体的。 下面收藏了两个重写的方法,只要在程序里添加鼠标事件,并重写即可。 方法一:void Widget::mousePressEvent(QMouseEvent *event){ bPressFlag = true; beginDrag = event->pos(); QWid

2016-09-18 16:21:25 14145 4

原创 Qt关于设置子窗口样式表不生效问题

父窗口A中创建了一个子窗口B,B = new WidgetB(this),this是父窗口A,最后运行程序时出现子窗口B继承了父窗口A的样式,于是在子窗口类中的构造函数里调用 setAutoFillBackground(true); 解决了此问题。后来又出现一个问题,通过.css文件对子窗口进行样式设置时死活不生效,前前后后检查了好多次,路径没错,文件读取也没错。折腾到后一天,想到曾经有一

2016-08-16 16:58:58 10650

原创 Qt之用QSetting读取配置文件

对于一些需要经常变动的或者根据现场数据再进行确定的待定数据,我们最好将其放入到配置文件中来,以便随时修改。那么配置文件的格式又是怎么样的呢?这里主要将以.ini结尾的配置文件,这种文件可是直接用记事本打开,而且格式也相对简单易懂。一个串口配置文件如下: [SerialPort]——–>> Section,一些相关的数据可作为一个 Section //端口号 port=1 ——–

2016-08-02 13:54:47 8220

转载 最重要的十年(转)

就贴网址了 最重要的十年

2016-07-14 18:54:21 284

原创 文字标签循环滚动

前两天看到两篇博客文章关于文字滚动实现走马灯效果,其中一篇是在Qt界著名而无私的一去丶二三里大大,在其基础上进行了升级,实现前面消失的文字在后面出现。 废话少说,代码如下:Widget::Widget(QWidget *parent) : QWidget(parent), ui(new Ui::Widget){ ui->setupUi(this); _scroll

2016-07-09 09:08:28 698

原创 QLabel出现一会然后消失,起到提示作用

最近做一个小东西,用的类似于音乐播放器上的播放模式切换功能,切换后,会出现一个提示标签,停留一两秒然后消失。 下面贴代码: 头文件:#ifndef WIDGET_H#define WIDGET_H#include <QWidget>#include <QLabel>#include <QPushButton>#include <QTimer>namespace Ui {class W

2016-06-24 20:43:35 2714 2

原创 一个漂亮的滑动条样式

前段时间做一个东西,要用到滑动条,在更改样式时破费脑筋!因为总有一些问题:例如,当你滑动滑块到两端时,下面的滑槽总是遮不住,还有一个就是你要滑到两端时,你设置的弧度圆角突然变成方的,细细很不美观。 方的情形就不展示了。 主要调整的是border-radius这个属性,其次是margin属性。 下面附上样式源码:slider_Time->setStyleSheet(

2016-06-21 10:04:32 6679

转载 Qt常用类型总结(转)

转载一篇文章,以后可能会经常用到!方便查阅! Qt常用类型总结学习怎么能没有笔记呢!

2016-06-14 15:19:29 726 2

转载 Qt杂项(转)

原文博客地址 1.模型视图中设置模式不可编辑 : setEditTrigger(QAbstractItemView::NoEditTriggers);2.对话框去掉右上角的问号:setWindowFlags(windowFlags()&~Qt::WindowContextHelpButtonHint);3.对话框加上最小化按钮:setWindowFlags(windowFlags()|Qt::Wi

2016-06-10 11:06:11 697

翻译 有哪些方式可以使你更加机智的工作而不是盲目的辛劳!

无意中在Quaro上有一个提问:有哪些方式可以使你更加机智的工作而不是盲目的辛劳!然后看到下面的第一个热门回答,觉得挺好,于是,摘抄下来!翻译不当之处,麻烦给予指正!1.使用忍者快捷键;对于这条,着实不知道怎么说….泪崩2.获取足够的休息和睡眠,即使你的工作还处于落后的状态;3.使用一个看板;4.说”不”;5.可以推迟延后,但不能拖到最后一分钟;6.委派;7.不要成为完美主义者,为你任

2016-05-23 13:27:23 519

原创 Qt5给Excel添加批注

首先提供一个链接:Qt操作Excel。这个链接中有关于对Qt的读写以及常规的设置,例如单元格背景色、拆分合并单元格等操作,算是对Excel操作比较全的篇文章! 下面来看下怎么对Excel的单元格加批注,这个问题困扰了我一天,后来群里遇到大神,给我提示才勉强实现了! Qt操作Excel有两种方式,一种是COM方式,一种是通过ODBC。利用COM的话要用到Axtive,Qt在win

2016-05-15 10:24:28 1210

原创 路在何方

刚跟以前的同事小聚一下,谈笑间聊着上一家公司的各种坑爹奇葩事!现在换了工作,自认为很轻松过的很可以。与他们分别后,一个人独自走回家(租的房子)!因为是周末,路上街灯迷人,色彩绚丽,人流如织,来来往往,成双结对!而我,只身一个人。没有人会多看你一眼!上一个公司呆了两年,没少加过班,没少吃过苦,但是学的东西很少,视野不广,说白了,那两年真是废了!在刚应聘现在这公司的时候,人家说了你的项目经

2016-05-14 21:33:45 391

串口网口调试工具

包括虚拟串口工具,网口调试工具,和串口助手调试工具

2018-09-21

mysql数据存储

写的一个小程序,用到数据库的简单操作及css进行界面样式的编辑,对于qt初学者应该有点帮助。

2016-05-07

空空如也

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

TA关注的人

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