自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 qss + delegate:QComboBox Item Height

THE MOST IMPORTANT IS TO SET THE DELEGATE,IF NOT, THE STYLE WILL TO WORKS.QStyledItemDelegate * itemDelegate = new QStyleItemDelegate();ui.combox->setItemDelegate(itemDelegate); QSS:ui.co...

2018-12-12 14:02:22 831

原创 QLineEdit+icon+input text

QAction * pAction_Account = New QAction(ui.lineEdit_Account);pAction_Account->setIcon(QIcon(":/ICON/user.png"));ui.lineEdit_Account->addAction(pAction_Account,QLineEdit::LeadingPosition);u...

2018-12-12 11:33:22 957

原创 qmake &cmake &makefile differences

1.gcc是GNU Compiler Collection(就是GNU编译器套件),也可以简单认为是编译器,它可以编译很多种编程语言(括C、C++、Objective-C、Fortran、Java等等)。2.当你的程序只有一个源文件时,直接就可以用gcc命令编译它。3.但是当你的程序包含很多个源文件时,用gcc命令逐个去编译时,你就很容易混乱而且工作量大4.所以出现了make工具make工具可以看...

2018-06-21 17:02:54 607

原创 两种消息模型: 点对点&&发布/订阅

点对点: 消息生产者生产消息发送到queue中,然后消息消费者从queue中取出并且消费消息。这里要注意: 消息被消费以后,queue中不再有存储,所以消息消费者不可能消费到已经被消费的消息。 Queue支持存在多个消费者,但是对一个消息而言,只会有一个消费者可以消费。 发布/订阅 消息生产者(发布)将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息。和点对点方式不同,发布到topi...

2018-06-05 16:46:16 2383

原创 qml用MenuStyle设置Menu的风格

Menu{id: powerMenustyle:MenuStyle{        itemDelegate.background: Rectangle{                height: 60                width: 40                color: "grey"            }    }itemDelegate.label: Text{...

2018-04-17 18:59:43 5038 3

原创 qml tableview红白间隔显示且行高可设置,并且cell 文字居中显示

import QtQuick 2.6import QtQuick.Window 2.2import QtQuick.Controls 1.4Item{ width: 800; height: 600 ListModel{ id:libraryModel ListElement{title: "aaa"; author: "

2017-10-13 12:08:39 4001

原创 Qt 5的学习--与Qt 4的几点区别

Qt5对Qt4的模块进行了重构,最明显的是对Qt Gui模块的修改,在Qt 5 中,Qt Gui不再包含有关界面的所有类。所有的图形界面程序需要的QApplication以及最重要的基类QWidget已经不在Qt Gui模块中,而是被重新组合到了一个新的模块Qt Widgets中。Qt 5的一个重大更改就是重新定义了Qt Gui模块,它不再是一个大而全的图形界面库,而是为各种图形用户界面组件提供一

2017-07-25 23:00:21 11718

原创 moc_***.cpp被手动从工程里移除以后发生的事情

1.环境:vs2013+qt插件手动从vs里面把moc文件移除了,再重新生成项目,会报一大堆link2001的错误,如下:***.obj:error LNK2001:无法解析的外部符号"public: virtual struct QMetaObject const* _thiscall....................出现bug原因如下:手动从vs里面移除moc文件以后,清理工

2017-07-25 22:26:44 2811

原创 大家都还在吗?我回来了!一起进步!

看到那么多人留言给我,还有的说是我的粉丝,惦记我最近怎么一直没上博客了,我觉得好感动!我确实好久没上csdn了,也确实好久没有写技术博客了,因为现在换单位了,新单位是一家军工企业,平时上班禁止上外网,所以就没那么方便写技术博客了。但是我平时都在写技术文章,等这两天发到上面来给大家分享!

2017-06-06 21:23:17 561 2

原创 qss范例

/************************************************************************** index list for customizing Qt or customized widgets using style sheets:    =========================================

2016-12-21 23:24:41 2273

转载 软件概要设计的过程和内容

在完成对软件系统的需求分析之后,接下来需要进行的是软件系统的概要设计。一般说来,对于较大规模的软件项目,软件设计往往被分成两个阶段进行。首先是前期概要设计,用于确定软件系统的基本框架;然后是在概要设计基础上的后期详细设计,用于确定软件系统的内部实现细节。概要设计也称总体设计,其基本目标是能够针对软件需求分析中提出的一系列软件问题,概要地回答如何解决。例如,软件系统将采用什么样的体系构架

2016-11-13 14:22:28 15187

原创 STL

STL的最主要的两个特点:数据结构和算法的分离,非面向对象本质。访问对象是通过象指针一样的迭代器实现的;容器是象链表,矢量之类的数据结构,并按模板方式提供;算法是函数模板,用于操作容器中的数据。由于STL以模板为基础,所以能用于任何数据类型和结构。 一、STL简介STL(Standard Template Library,标准模板库)是惠普实验室开发的一系列软件的统称。它是由A

2016-11-02 14:29:39 382

原创 关系型数据库

一、基本概念:1.数据库:对大量信息进行管理的高效解决方案,按照数据结构来组织、存储和管理数据的仓库。说白了就是一些关联表的集合。2.数据库系统(DBS):包括数据库(DB)和数据库管理系统(DBMS)。3.关系型数据库:建立在关系模型上的数据库系统,采用关系模型作为数据的组织方式,在关系模型中用表格结构表达实体集与实体集之间的联系。借助于集合代数等数学概念和方法来处理数据库中的数据。

2016-11-02 11:42:03 5099

转载 函数指针及应用

函数指针及应用我们先来看一下以下 的声明:int f(int);int  (*pf)(int)=&f;//&操作符可选;因为函数名被使用时总是由编译器把它转换为函数指针;int ans;ans=f(25);ans=(*pf)(25);ans=pf(25);//间接访问操作并非必需,因为编译器需要的是一个函数指针;*********************

2016-11-01 16:21:35 348

转载 指针函数和函数指针

1.指针函数先看下面的函数声明,注意,此函数有返回值,返回值为int *,即返回值是指针类型的。[cpp] view plain copy print?int *f(int a, int b);  int *f(int a, int b);上面的函数声明又可以写成如下形式: int* f(int a, int b);让指针标志

2016-11-01 15:56:48 377

原创 Qt复习之小细节注意

1.对于所有定义了信号和槽的类,在类定义开始处的Q_OBJECT宏都是必需的。2.Qt由数个模块构成,每个模块都有自己的类库。最为重要的模块有QtCore、QtGui,QtNetWork、QtOpenGL、QtScript、QtSvg和QtXml。其中,在头文件中为构成QtCore和QtGui组成部分的所有类进行了定义,在程序中包含这个头文件,就能够使我们省去在每个类中分别包含的麻烦。3.

2016-10-31 13:44:03 540

转载 QApplication详解

一、详细描述QApplication 类管理图形用户界面应用程序的控制流和主要设置。 可以说 QApplication是Qt的整个后台管理的命脉它包含主事件循环,在其中来自窗口系统和其它资源的所有事件被处理和调度。它也处理应用程序的初始化和结束,并且提供对话管理。它也处理绝大多数系统范围和应用程序范围的设置。对于任何一个使用Qt的图形用户界面应用程序,都正好存在一个QAppli

2016-10-31 09:02:33 37584 1

原创 TCP/IP三次握手过程详解

一、TCP报文格式 图1 TCP报文格式上图中有几个字段需要重点介绍下: (1)序号:Seq序号,占32位,用来标识从TCP源端向目的端发送的字节流,发起方发送数据时对此进行标记。 (2)确认序号:Ack序号,占32位,只有ACK标志位为1时,确认序号字段才有效,Ack=Seq+1。 (3)标志位:共6个,即URG、ACK、PSH、RST、SYN、FIN等,具体

2016-10-26 22:29:23 709

原创 常见面试题及答案汇总

1.堆栈溢出一般是由什么原因导致的?答:1.没有回收垃圾资源        2.层次太深的递归调用(无限递归调用),每一次函数调用都会将参数、返回值不停的压栈。2.new、delete、malloc、free的关系delete会调用对象的析构函数,和new对应。free只会释放内存。new会调用构造函数。malloc与free是C++/C语言的标准库函数,new和delete是C+

2016-10-26 16:17:49 928

原创 引用作为函数参数和常引用作为函数参数

(1)传递引用给函数与传递指针的效果是一样的。这时,被调函数的形参就成为原来主调函数中的实参变量或对象的一个别名来使用,所以在被调函数中对形参变量的操作就是对其相应的目标对象(在主调函数中)的操作。(2)使用引用传递函数的参数,在内存中并没有产生实参的副本,它是直接对实参操作;而使用一般变量传递函数的参数,当发生函数调用时,需要给形参分配存储单元,形参变量是实参变量的副本;如果传递的是对象,还

2016-10-26 15:17:55 6902

转载 stl容器的实现原理-与数据结构的对应关系

STL容器的实现原理  STL共有六大组件 1、容器。2、算法。3、迭代器。4、仿函数。6、适配器。  STL容器的实现原理STL来管理数据十分方便,省去了我们自己构建数据结构的时间.其实,STL的实现也是基于我们常见的数据结构.序列式容器:vector-数组,元素不够时再重新分配内存,拷贝原来数组的元素到新分配的数组中。

2016-10-26 14:40:00 5596

原创 stl中常用容器详解

  我们常用到的STL容器有vector、list、deque、map、multimap、set和multiset,它们究竟有何区别,各自的优缺点是什么,为了更好的扬长避短,提高程序性能,在使用之前需要我们了解清楚。 verctor--会自动增长的数组vector类似于C语言中的数组,它维护一段连续的内存空间,具有固定的起始地址,因而能非常方便地进行随机存取,即 []

2016-10-26 14:32:23 383

原创 堆栈区别和堆栈溢出原因

好了,我们回到我们的主题:堆和栈究竟有什么区别?主要的区别由以下几点:1、管理方式不同;2、空间大小不同;3、能否产生碎片不同;4、生长方向不同;5、分配方式不同;6、分配效率不同;管理方式:对于栈来讲,是由编译器自动管理,无需我们手工控制;对于堆来说,释放工作由程序员控制,容易产生memory leak。空间大小:一般来讲在32位系统下,堆内存可以达到

2016-10-26 11:46:06 7300

原创 二叉排序树和平衡二叉树

二叉排序树又称二叉查找树,亦称二叉搜索树。二叉排序树或者是一颗空树,或者是具有下列性质的二叉树:(1)若左子树不空,则左子树上所有结点的值均小于它的根节点的值;(2)若右子树不空,则右子树所有结点的值均大于或等于它的根结点的值;(3)左、右子树也分别为二叉排序树平衡二叉树:又称为AVL树,它具有以下特征:它是一棵空树或它的左右两个子树的高度差(称为平衡因子)

2016-10-26 11:28:59 4335

原创 全局变量与局部变量在内存中的区别

全局变量保存在内存的全局存储区中,占用静态的存储单元;局部变量保存在栈中,只有在所在函数被调用时才动态地为变量分配存储单元。该题目考查的知识点是变量的存储类型及性质。C语言经过编译之后将内存分为以下几个区域:(1)栈(stack):由编译器进行管理,自动分配和释放,存放函数调用过程中的各种参数、局部变量、返回值以及函数返回地址。操作方式类似数据结构中的栈。(2)堆(heap):用于程序

2016-10-26 10:26:30 760

原创 static有什么用途

在C语言中,static主要定义全局静态变量,定义局部静态变量,定义静态函数一、定义全局静态变量:在全局变量前面加上关键字static,该全局变量变成了全局静态变量。全局静态变量有以下特点:(1)在全局数据区内分配内存(2)如果没有初始化,其默认值为0(3)该变量在本文件内从定义开始到文件结束可见。二、定义全局静态变量:在局部变量前面加上关键字static,该局部变量便成了静态

2016-10-26 10:08:59 6108

原创 初学Android OpenGL的一些心得

这是网友初学Android OpenGL的一些心得,在这里和大家一起分享,希望对初学OpenGL的开发者有所帮助。这篇教程主要是一些理论的讲解,可以让你初步了解Android OpenGL的开发。  首先是先把Dev Guide翻译了一下:  1.summary:  通过OpenGL API,Android包含对高性能3D图形的支持 — 具体而言,是指OpenGL ES API 。Op

2016-10-14 16:21:32 2904

转载 android:layout_gravity和android:gravity的区别

1.首先来看看Android:layout_gravity和android:gravity的使用区别。android:gravity:这个是针对控件里的元素来说的,用来控制元素在该控件里的显示位置。例如,在一个Button按钮控件中设置如下两个属性,android:gravity="left"和android:text="提交",这时Button上的文字“提交”将会位于Bu

2016-10-13 18:07:21 371

原创 Android学习之编程细节注意(一、基本组件)

1.要开发“用户名___________”这种格式的登录界面的话,用表格布局,并且在TableRow中使用TextView与EditView配合,但是需要注意的是EditView的layout_width属性的值只能设置为一个具体的数值,比如300px,而不能设置为wrap_content。2.还要注意,对于TextView和EditvVew,layout_width和layout_heigh

2016-10-13 11:53:58 415

原创 AlertDialog

m_btn = new Button(MainActivity.this);m_btn.setText("click me");FrameLayout.LayoutParams params= new FrameLayout.LayoutParams( ViewGroup.LayoutParams.WRAP_CONTENT, ViewGroup.LayoutPa

2016-10-12 18:32:38 250

原创 toast用法

Toast是Android中用来显示显示信息的一种机制,和Dialog不一样的是,Toast是没有焦点的,而且Toast显示的时间有限,过一定的时间就会自动消失。第一个参数:当前的上下文环境。可用getApplicationContext()或者getContext()或this第二个参数:要显示的字符串。也可是R.string中字符串ID第三个参数:显示的时间长短

2016-10-12 18:29:05 24804

原创 Android框架讲解

android应用开发框架是 Application Framework. 其系统架构由5部分组成,分别是:Linux Kernel、Android Runtime、Libraries、Application Framework、Applications。下面自底向上分析各层。 1、Linux Kernel         Android基于Linux 2.6提供核心系

2016-10-11 14:42:45 464

转载 如何检索获取安卓图片数据库的所有信息

如何检索获取安卓图片数据库的所有信息:使用内容解析者通过Uri:  获取这些信息数据库位置:data/data/com.android.providers/media/databases/external.db获取图库图片信息的Uri:Media.EXTERNAL_CONTENT_URI和Media.INTERNAL_CONTENT_URI分别是访问外部SD卡和内部存储

2016-09-21 14:50:08 3265 1

转载 android两种异步处理原理

Handler类:1 在子线程中发送Message2 在主线程中获取、处理Message在新线程中 通过Handler机制通知UI线程改变界面。每个线程只能拥有一个Looper,而每个Looper关联一个MessageQueueUI线程中,系统默认初始化了一个Looper对象。Looper、MessageQueue、Handler的作用如下:1 Loop

2016-09-09 10:05:33 1325

转载 Android异步处理常用方法

每个Android应用程序都运行在一个dalvik虚拟机进程中,进程开始的时候会启动一个主线程(MainThread),主线程负责处理和ui相关的事件,因此主线程通常又叫UI线程。而由于Android采用UI单线程模型,所以只能在主线程中对UI元素进行操作。如果在非UI线程直接对UI进行了操作,则会报错: CalledFromWrongThreadException:only the or

2016-09-09 10:00:30 466

原创 git的日常使用流程

工作中使用图形化工具工具smartgit+git进行代码管理,使用场景及过程如下:前提:teamleader会先在github端建立一个team branch,team branch上有整个组的全部代码。下图是图形化工具smartgit的使用界面。1.第一个使用场景就是一个新的小组成员要开始干活了,要拿到team branch的代码到本地,怎么拿。具体过程:(1)用smartg

2016-09-02 16:56:19 1746 1

原创 Android学习之Android studio篇-Android Studio快捷键总结(mac)

符号代表键盘按键:⌘(command)、⌥(option)、⇧(shift)、⇪(caps lock)、⌃(control)、(return)、⌅(enter)1.打印日志:logt:private static final String TAG = "ImageDetailsActivity";logd:Log.d(TAG, "onCreate: ");

2016-08-04 14:54:44 1187

原创 IntentFilter and Intent

Android基本的设计理念是鼓励减少组件间的耦合,因此Android提供了Intent (意图) ,Intent提供了一种通用的消息系统,它允许在你的应用程序与其它的应用程序间传Intent来执行动作和产生事件。使用Intent可以激活Android应用三种类型的核心组件:活动、服务和广播接收者。Intent可以划分成显式意图和隐式意图:显式意图:调用Intent.setComponent(

2016-08-03 15:20:42 242

转载 编写高效的anroid代码

毫无疑问,基于Android平台的设备一定是嵌入式设备。现代的手持设备不仅仅是一部电话那么简单,它还是一个小型的手持电脑,但是,即使是最快的最高端的手持设备也远远比不上一个中等性能的桌面机。 这就是为什么在编写Android程序时要时刻考虑执行的效率,这些系统不是想象中的那么快,并且你还要考虑它电池的续航能力。这就意味着没有多少剩余空间给你去浪费了,因此,在你写Android程序的时候,要尽可

2016-07-01 23:20:31 463

转载 anroid获取图像缩略图

主要是通过BitmapFactory.Options 来实现Options中有个属性inJustDecodeBounds。我们可以充分利用它,来避免大图片的溢出问题。他是什么原理呢?API这样说:如果该值设为true那么将不返回实际的bitmap,也不给其分配内存空间这样就避免内存溢出了。但是允许我们查询图片的信息这其中就包括图片大小信息(options.outHeight (图片原始高度

2016-07-01 15:58:55 465

空空如也

空空如也

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

TA关注的人

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