自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

转载 3.容器

Sequence Containers (array and linked list):---vector,deque,list,forward list,arrayAssociate Containers(binary tree):---set,multiset---map, multimapUnordered Associate Containers(has...

2017-08-30 09:35:00 84

转载 2.概括

一。STL六大组件1.容器(container),各种数据结构: vector, deque, list, forward_list, array, set, multiset, map, multimap,unordered_set,unordered_multiset,unordered_map,unordered_multimap.从实现的角度来讲,STL容器是一...

2017-08-29 10:19:00 88

转载 1.介绍templates

我们现在要计算int和double类型数据的平方,我们就需要2个函数:#include <iostream>using namespace std;int square(int x) { return x*x;}double square(double x) { return x*x;}int main() {...

2017-08-28 10:51:00 174

转载 7.使用中位数而不是平均值。

如果我们要用中位数来确定课后成绩。第一:我们需要存储所有的课后成绩,而不是跟计算平均值一样,只存储总成绩。第二:我们需要对成绩排序。找到中位数。要计算中位数,我们必须阅读并存储所有的课后作业分数,然后进行排序,最后选择中间(或两个)。 为了方便而有效地进行这种计算,我们需要一种方法:1)我们需要储存所有的值,但是我们不知道有多少值。2)高效的取得中间值。标准...

2017-06-16 22:47:00 209

转载 6.处理批次数据

程序中最常见的复杂问题之一是处理批次数据。在本文中,我们将通过编写读取学生考试和作业成绩并计算最终成绩的程序,了解更多处理批次数据的方法。 我们将学习如何存储所有成绩,即使我们提前不知道有多少成绩。期末成绩占40%,期中成绩占20%,课后作业成绩平均分占40%(我们不知道有多少课后作业成绩)如何解决?思路: 在while循环中读取课后作业成绩,并计数。当读取到EOF时,系...

2017-06-16 22:31:00 146

转载 5.循环和计数

在上里一个例子中我们输出了:     这种方法有一个主要的缺点:输出的每一行都有一个与之对应的变量。因此,即使对输出格式进行简单的更改,例如删除问候语和框架之间的空格,也需要重写程序。我们希望产生更灵活的输出形式,而不必将每行存储在局部变量中。我们将通过单独输出每个字符来解决这个问题。思路:把输出当成一个二维矩阵。当第2行2列时候,输出问候语句。其他时候,如果是...

2017-06-16 17:15:00 93

转载 4.std::string中库函数的使用。

为了美观,我们把输入和输出设计成如下:      #include <iostream>#include <string>int main(){ std::string name; std::string s3,s2; std::cout << "Please enter yo...

2017-06-16 01:08:00 259

转载 3.Strings 字符串如何工作?----对缓冲区的理解。

修改Hello World程序向特定的人问好。#include <iostream>#include <string>int main(){ std::string name; std::cout << "What's your name? "; std::cin >> na...

2017-06-16 00:11:00 105

转载 2.一个简单的c++程序。

每个程序员的Hello World程序//This is a small c++ program#include <iostream>int main(){ std::cout << "Hello, World" << std::endl; system("pause"); return 0;...

2017-06-15 22:19:00 113

转载 1.预备知识

1.尽管c++建立在c语言之上,但是如果你想成为一个c++程序员的话,没有必要,也不必去学习c语言。直接使用高级的c++语法,这样你就能尽快用c++编程。2.学习c++,专注于解决实际问题,而不是c++语法和语言本身。3.直接使用c++编写程序,编写足够多的程序之后,再来了解细节本身。关于抽象:《accelerate c++》对现代编程都会遇到的名词,抽象(abst...

2017-06-15 18:07:00 96

转载 2.Books

Books示例说明了Qt中SQL类如何被Model/View框架使用,使用数据库中存储的信息,创建丰富的用户界面。首先介绍使用SQL我们需要了解的类:1.QSqlDatabase:QSqlDatabase类表示与数据库的连接。QSqlDatabase类提供了一个通过连接访问数据库的接口。QSqlDatabase的一个实例表示连接。连接通过驱动(驱动就是QSqlDr...

2017-06-13 01:31:00 128

转载 1.SQL

Qt和数据库之间的操作非常广泛,Qt支持各种开源和商业的数据库。SQL支持和集成了Qt Model/View结构,让你在GUI编程中更加灵活和方便的使用数据库。转载于:https://www.cnblogs.com/billxyd/p/6996740.html...

2017-06-13 01:16:00 62

转载 3.Dynamic Layout 动态布局。在槽中处理布局

在应用程序中,一个界面的布局基本都是固定的。在这个实例中,我们把管理布局的代码放在槽中。这样点击一次按钮,触发槽。布局改变一次。这样就成为一个动态布局。(一) 水平和竖直布局改变横向:      纵向:      明显我们改变combobox中的选项。整个布局的界面就会变化。明显信号就是combobox中的currentIndexChan...

2017-06-11 03:09:00 279

转载 2.Border Layout 自定义一个Layout来完成布局。

目标:        1.添加控件的函数void QLayout::addWidget ( QWidget * w )在这个例子里面我们重载这个函数void addWidget ( QWidget * w, int position)2.添加到布局里面的都是QLayoutItem。我们把QLayoutItem和position封装成一个结构体ItemWra...

2017-06-10 02:08:00 138

转载 2.QWidget类

简述:  QWidget类是所有用户界面对象的基类。  Widget是用户界面的基本单元:它从窗口系统接收鼠标,键盘和其他事件,并在屏幕上绘制自己。  每个Widget都是矩形的,它们按照Z-order进行排序。注:Z-order是重叠二维对象的顺序,例如堆叠窗口管理器中的窗口。典型的GUI的特征之一是窗口可能重叠,使得一个窗口隐藏另一个窗口的一部分或全部。 ...

2017-05-31 14:59:00 270

转载 2.类和对象

1.什么是类?  类是面向对象编程的基础。  一个类定义一个数据类型,很像c语言中的结构体。一个类具有状态(成员变量)和改变状态的操作(成员函数或接口)2.什么是对象?  对象通常指的是一个类的实例。3.什么是一个好的接口?(一个类中定义了很多方法,我们调用方法,就是调用接口)  a.隐藏不必要的细节,减少调用失败的概率  b.准确定义,好理解。不...

2017-05-30 18:18:00 71

转载 1.Basic Layouts

  使用过mfc编程,就知道控件需要自己拖放。当一个界面有很多小控件时,摆放这些控件特别麻烦。  但是qt编程中有布局(Layout),让系统来摆放控件。使整个控件有一致的外观和感觉,特别方便。1.水平方向的布局 QHBoxLayout      思考:简单的把控件添加到布局里面就ok了。 horizontalGroupbox = new QGro...

2017-05-30 01:09:00 112

转载 1.初学c++,比较困惑的问题。

1.c++是一门实用的语言吗?  c++是一个实用的工具,它很有用。  在工业软件世界中,c++被视为坚实和成熟的主流工具。它具有广泛的行业支持和好批。2.面向对象编程在c++中的作用?  我们要开发一个大型、复杂的应用程序或者系统。使用面向对象编程是最好的方式。  oo吹嘘:现代软件行业,需求越来越复杂。面向过程编程无法满足客户需求,这时面向对象编程就产生了。...

2017-05-29 23:10:00 131

转载 11.树形Model/View实例

任务1:显示如图的树形结构思考:1.使用QTreeView显示。2.Model使用QStandardItemModel,qt的一个标准model。3.QStandardItemModel下每一个单元都可以看作QStandardItem。4.QStandardItemModel中invisibleRootItem()函数返回一个看不到的根。5.在这个根上添...

2017-05-29 22:10:00 148

转载 10.model/view实例(4)

任务:给表单的每一列添加列名。    思考:1.只需要添加一个函数 headerData()。 横向方面添加列名代码如下:QVariant MyModel::headerData(int section, Qt::Orientation orientation, int role) const{ if(role == Qt::Displa...

2017-05-29 01:10:00 64

转载 10.model/view实例(3)

任务:3x2的表格,第一个单元格显示当前时间      思考:1.data函数里面QTime::currentTime()显示当前时间2.但是这个事件是一个固定的时间,不会变动3.需要时间变动,View就得每秒中都从Model中调用data函数。4.这里就需要定时器。5.定时器每秒发射1个信号。这个信号告诉View。Model中数据变了,你需要重新...

2017-05-29 01:05:00 66

转载 10.model/view实例(2)

任务:显示一个2x3的表格,将表格中的数据显示如下:    思考:1.如何显示数据和上个例子一样。2.但是每个单元格的数据都是有角色划分的。 Qt::ItemDataRole3.View从Model中获取数据,通过data函数。每一个单元格根据角色,调用多次data函数。个人理解:单元格什么角色都调用一次data函数。代码如下:就是修改data函...

2017-05-29 00:18:00 91

转载 10.model/view实例(1)

1.如图显示一个2x3的表格:    思考:1.QTableView显示这个表2.QAbstractTableModel作为模型类。3.文档中找到subclass的描述When subclassing QAbstractTableModel, you must implementrowCount(),columnCount(), anddata(...

2017-05-28 22:56:00 74

转载 9.Delegate类

Concepts不像MVC模式,Model/View模式并没有单独用来处理事件和用户交互的组件(controller)。通常,视图负责向用户呈现模型中的数据,并处理用户的输入。有时,为了让输入更加灵活,使用Delegate处理交互。Delegate组件提供输入功能,还负责渲染某个Item。Delegate的标准接口在QAbstractItemDelegate中定义。 ...

2017-05-28 21:25:00 91

转载 8.View类

Basic Concepts 在Modle/View 结构中,View从Model中提取数据,并显示给用户。View显示数据的方式不一定与Model中数据排列方式相同,也可能与底层数据结构完全不同。 通过QAbstractItemView提供标准的视图接口,QAbstractModelView提供标准的模型接口。视图通常管理从模型提取数据的总体布局,他们可以自己呈...

2017-05-28 13:24:00 98

转载 7.qfilesystemmodel rowcount 为什么为0? 一个简单的model类的例子

任务:1.新建一个空的mainwindow项目2.debug下编译得到一个文件夹,应用程序输出这个文件夹中的文件(不显示文件夹中的文件夹)3.使用QFileSystemModel完成。本例显示结果:MakefileMakefile.DebugMakefile.Releaseui_mainwindow(debug和release是文件夹,不在应用程序...

2017-05-28 02:06:00 297

转载 6.Model类

Basic Concepts 在Model/View结构中,Model提供标准的接口让View和Delegate获得数据。在QT中,标准的接口都被定义在QAbstractItemModel类中。不论数据如何存储在底层的数据结构中,任何QAbstractItemModel的子类,将数据表示为表或者树等层次结构。 View很方便的获得Model中的Item Data,...

2017-05-28 01:26:00 235

转载 5.Qt model view设计模式

Introduction to Model/View ProgrammingQT4 介绍了一系列新的 Item View 类,这些类使用Model/View结构来管理数据和数据如何呈现给用户。这种结构使程序员更加灵活的开发和定制呈现数据界面,Model/View结构提供标准的Model接口让各种数据资源都能够被存在的Item View使用。The model...

2017-05-28 01:17:00 180

转载 4.传统的MVC

  通过document view设计,我们把应用程序的状态(clicktimes)从一个简单的类设计中抽取出来。下一个目标是抽取转化主要的事件(这个例子里面是鼠标点击之后释放)为应用程序逻辑从而改变应用程序状态(让clicktimes 加1)的代码。最终成为传统的MVC 在传统的MVC中,document被称为Model. Model的角色和结构是不变的。Model存储应用...

2017-05-28 01:13:00 96

转载 3.文档视图:从gui分割状态

  为了解决一个类实现所有功能的缺陷,我们把application分为2个部分。一个部分业务逻辑,一个部分视觉渲染和交互。这2个类在学术上被称为document view 或者 modeldelegate。  Document类用来处理业务逻辑,和视觉渲染、GUI事件没有一点关系。它简单的存储应用程序的状态,提供接口获得状态并根据应用程序规则改变状态。另外,提供机制告知相关对象...

2017-05-27 22:44:00 80

转载 2.一个类完成所有功能

任务:一个简单的按钮类(QPushButton),能显示点击次数。  我们希望这个简单的gui程序能满足:1.接收用户驱动事件,比如用户点击鼠标。2.保存应用程序逻辑,将驱动事件转化成应用程序状态改变。3.保存应用程序的状态。4.将状态视觉化。代码如下:counter.h#ifndef COUNTER_H#define COUNTER_H...

2017-05-27 13:31:00 192

转载 1.从GUI到MVC

  GUI(graphic user interface 用户图形界面)。GUI编程的目的是提供交互性,并根据用户的操作实时的更新界面。用户的操作是不可预知的鼠标和键盘事件,我们如何保持同步和更新?在上层,我们必须考虑清楚业务逻辑。在代码层,我们如何把业务逻辑转化成对象之间的通讯(可能有网络通讯)?  MVC解决上述需求。它通过细分代码的角色(模型层,控制层,显示层),使得对象通讯简...

2017-05-27 00:40:00 120

转载 什么是消息循环,一个简单的win32程序如何运行?

  预备知识1.什么是句柄? (HANDLE)在win32编程中有各种句柄,那么什么是句柄呢?#defineDECLARE_HANDLE(name)struct name##_{  int unused;};typedef struct name_* name;例如HDC的定义#define DECLARE_HANDLE(HDC)struct...

2017-05-26 00:01:00 208

转载 1.QObject类

简述QObject类是所有Qt对象的基类。QObject是Qt对象模型的核心。该模型的核心特征是称为信号和槽的对象通信机制。您可以使用connect()将信号连接到槽,并用disconnect()终止该连接。为了避免信号死循环,你可以调用blockSignals()去终止该对象的信号发射。保护类型函数connectNotify()和disconnectNotify()可以跟...

2017-04-27 11:07:00 154

空空如也

空空如也

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

TA关注的人

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