- 博客(73)
- 资源 (4)
- 收藏
- 关注
原创 290. Word Pattern
Given a pattern and a string str, find if str follows the same pattern.Here follow means a full match, such that there is a bijection between a letter in pattern and a non-empty word in str.Ex
2015-11-30 15:51:02 515
转载 c++字符串分词
http://www.cppblog.com/db123/archive/2009/05/21/83556.htmlC++字符串分词董波QQ:84638372一 简介 字符串分词,即按照某一规则,将一个完整的字符串分割为更多的字段。在C库当中,strtok/wcstok提供了类似的功能,C++标准库兼容了C库。C++的stringstream有类似的功能,boost.
2015-11-30 15:45:53 1751
原创 263. Ugly Number
Write a program to check whether a given number is an ugly number.Ugly numbers are positive numbers whose prime factors only include 2, 3, 5. For example, 6, 8 are ugly while 14 is not ugly sinc
2015-11-29 22:37:49 596
原创 242. Valid Anagram
Given two strings s and t, write a function to determine if t is an anagram of s.For example,s = "anagram", t = "nagaram", return true.s = "rat", t = "car", return false.Note:You may assume
2015-11-28 15:47:19 676
原创 283. Move Zeroes
双指针,一个指针对每个元素遍历,如果是0,则寻找该元素之后第一个非0元素并将二者交换;如果不是0,则直接跳过。class Solution {public: void moveZeroes(vector& nums) { for(int i = 0;i<nums.size();i++) { if(nums[i] == 0)
2015-11-27 22:22:10 551
转载 Nim Game
https://leetcode.com/discuss/63725/theorem-all-4s-shall-be-false 太机智Proof:the base case: when n = 4, as suggested by the hint from the problem, no matter which number that that first pl
2015-11-26 21:08:13 329
转载 LINK : fatal error LNK1181: cannot open input file ‘xxx.obj’
最近被一个很低级的问题差点搞死,而且很容易就能描述清楚,所以必须记录下来。前几天下载了一个别人的demo,然后在debug下配置编译正常运行;配置Release的时候基本都是copy过去的,结果编译时出现链接错误1>LINK: fatal error LNK1181: cannot open input file 'xxx.obj',搞了2天才发现问题所在。原因很简单,就是添加
2015-11-20 00:25:39 20012 2
转载 VTK6.2 Qt5.4.0 VS2013
Building VTK6 + Qt5 with Visual StudioDownloadDownload VTK 6.1.0 the (VTK-6.1.0.zip) to unzip the file. (C: \ VTK-6.1.0)Http://Www.Vtk.Org/VTK/resources/software.Html#latestcand Https://Gith
2015-11-19 21:46:40 1222
原创 VTK6.3+Qt5.4编译
删除VTK-6.3.0\GUISupport\QtWebkitVTKVTK_Group_Qt ☑ (check)Configure一次ModuleModule_vtkGUISupportQt ☑ (check)Module_vtkGUISupportQtOpenGL ☑ (check)Module_vtkGUISupportQ
2015-11-17 17:25:25 2334
转载 进程间通信 SharedMemory 最后例子没看明白
http://www.devbean.net/2013/11/qt-study-road-2-ipc/上一章我们了解了有关进程的基本知识。我们将进程理解为相互独立的正在运行的程序。由于二者是相互独立的,就存在交互的可能性,也就是我们所说的进程间通信(Inter-Process Communication,IPC)。不过也正因此,我们的一些简单的交互方式,比如普通的信号槽机制等,并不适用
2015-11-16 22:04:47 3974 1
转载 进程
http://www.devbean.net/2013/11/qt-study-road-2-process/进程是操作系统的基础之一。一个进程可以认为是一个正在执行的程序。我们可以把进程当做计算机运行时的一个基础单位。关于进程的讨论已经超出了本章的范畴,现在我们假定你是了解这个概念的。在 Qt 中,我们使用QProcess来表示一个进程。这个类可以允许我们的应用程序开启一个新
2015-11-16 21:41:23 519
转载 视图和委托
http://www.devbean.net/2013/03/qt-study-road-2-view-delegate/文末有代码链接前面我们介绍了模型的概念。下面则是另外一个基本元素:视图。在 model/view 架构中,视图是数据从模型到最终用户的途径。数据通过视图向用户进行显示。此时,这种显示方式不必须同模型的存储结构相一致。实际上,很多情况下,数据的显示同底层数据的
2015-11-16 19:31:29 571
转载 模型
http://www.devbean.net/2013/02/qt-study-road-2-model/在前面两章的基础之上,我们将开始介绍 model 的通用概念。在 model/view 架构中,model 提供一种标准接口,供视图和委托访问数据。在 Qt 中,这个接口由QAbstractItemModel类进行定义。不管底层数据是如何存储的,只要是QAbstractIt
2015-11-16 17:36:07 447
转载 QFileSystemModel
http://www.devbean.net/2013/02/qt-study-road-2-qfilesystemmodel/上一章我们详细了解了QStringListModel。本章我们将再来介绍另外一个内置模型:QFileSystemModel。看起来,QFileSystemModel比QStringListModel要复杂得多;事实也是如此。但是,虽然功能强大,QFileSys
2015-11-16 17:12:37 1525
转载 QStringListModel
http://www.devbean.net/2013/02/qt-study-road-2-qstringlistmodel/文末有完整代码上一章我们已经了解到有关 list、table 和 tree 三个最常用的视图类的便捷类的使用。前面也提到过,由于这些类仅仅是提供方便,功能、实现自然不如真正的 model/view 强大。从本章起,我们将了解最基本的 model/vie
2015-11-16 16:45:41 704
原创 Qt在mainwindow下代码添加控件不能显示的问题
以前在dialog或者widget下代码添加控件能显示,但是今天发现在mainwindow下居然不能显示,后来查了资料才知道,需要先定义一个widget,具体代码如下:QWidget *center = new QWidget(this);setCentralWidget(center);
2015-11-16 16:21:06 6507
转载 QListWidget、QTreeWidget 和 QTableWidget
http://www.devbean.net/2013/02/qt-study-road-2-qlistwidget-qtreewidget-qtablewidget/上一章我们了解了 model/view 架构的基本概念。现在我们从最简单的QListWidget、QTreeWidget和QTableWidget三个类开始了解最简单的 model/view 的使用。这部分内容的确很
2015-11-16 15:37:45 2136
转载 model/view 架构
http://www.devbean.net/2013/01/qt-study-road-2-model-view/有时,我们的系统需要显示大量数据,比如从数据库中读取数据,以自己的方式显示在自己的应用程序的界面中。早期的 Qt 要实现这个功能,需要定义一个组件,在这个组件中保存一个数据对象,比如一个列表。我们对这个列表进行查找、插入等的操作,或者把修改的地方写回,然后刷新组件进行显示
2015-11-16 10:42:19 879
转载 隐式数据共享 深拷贝 浅拷贝
http://www.devbean.net/2013/01/qt-study-road-2-implicit-sharing/Qt 中许多 C++ 类使用了隐式数据共享技术,来最大化资源利用率和最小化拷贝时的资源消耗。当作为参数传递时,具有隐式数据共享的类即安全又高效。在数据传递时,实际上只是传递了数据的指针(这一切都是隐含帮你完成的),而只有在函数发生需要写入的情况时,数据才会被拷
2015-11-14 17:12:52 970
转载 遍历容器 Java风格和STL风格 foreach
http://www.devbean.net/2013/01/qt-study-road-2-iterator/上一节我们大致了解了有关存储容器的相关内容。对于所有的容器,最常用的操作就是遍历。本章我们将详细了解有关遍历器的内容。尽管这个问题不是本章需要考虑的,但是我们还是需要来解释下,为什么要有遍历器。没有遍历器时,如果我们需要向外界提供一个列表,我们通常会将其返回:
2015-11-14 17:07:00 1416
转载 存储容器 隐式数据共享 可赋值数据类型
http://www.devbean.net/2013/01/qt-study-road-2-containers/存储容器(containers)有时候也被称为集合(collections),是能够在内存中存储其它特定类型的对象,通常是一些常用的数据结构,一般是通用模板类的形式。C++ 提供了一套完整的解决方案,作为标准模板库(Standard Template Library)的组
2015-11-14 16:49:01 639
转载 文本文件读写
http://www.devbean.net/2013/01/qt-study-road-2-text-file-io/上一章我们介绍了有关二进制文件的读写。二进制文件比较小巧,却不是人可读的格式。而文本文件是一种人可读的文件。为了操作这种文件,我们需要使用QTextStream类。QTextStream和QDataStream的使用类似,只不过它是操作纯文本文件的。另外,像 XM
2015-11-14 16:24:32 398
转载 二进制文件读写 版本 存在意义 流的含义
http://www.devbean.net/2013/01/qt-study-road-2-binary-file-io/在上一章中,我们介绍了有关QFile和QFileInfo两个类的使用。我们提到,QIODevice提供了read()、readLine()等基本的操作。同时,Qt 还提供了更高一级的操作:用于二进制的流QDataStream和用于文本流的QTextStream
2015-11-14 15:52:24 999
转载 文件
http://www.devbean.net/2013/01/qt-study-road-2-file/文件操作是应用程序必不可少的部分。Qt 作为一个通用开发库,提供了跨平台的文件操作能力。从本章开始,我们来了解下 Qt 的文件以及输入输出的功能,也就是 I/O 系统。Qt 通过QIODevice提供了对 I/O 设备的抽象,这些设备具有读写字节块的能力。下面是 I/O 设备
2015-11-14 15:39:41 347
转载 贪吃蛇(4)
http://www.devbean.net/2012/12/qt-study-road-2-snake-4/这将是我们这个稍大一些的示例程序的最后一部分。在本章中,我们将完成GameController中有关用户控制的相关代码。首先,我们来给GameController添加一个事件过滤器:
2015-11-14 15:29:36 1326
转载 贪吃蛇(3)
继续前面一章的内容。上次我们讲完了有关蛇的静态部分,也就是绘制部分。现在,我们开始添加游戏控制的代码。首先我们从最简单的四个方向键开始:12345678910111213141516171819202122232425262728293031void Snake::moveLeft(){
2015-11-14 15:25:59 450
转载 贪吃蛇(2)
http://www.devbean.net/2012/12/qt-study-road-2-snake-2/下面我们继续上一章的内容。在上一章中,我们已经完成了地图的设计,当然是相当简单的。在我们的游戏中,另外的主角便是蛇和食物。下面我们便开始这部分的开发。我们的地图是建立在QGraphicsScene的基础之上的,所以,里面的对象应该是QGraphicsItem实例。通常,
2015-11-14 15:25:19 490
转载 贪吃蛇(1)
http://www.devbean.net/2012/12/qt-study-road-2-snake-1/经过前面一段时间的学习,我们已经了解到有关 Qt 相当多的知识。现在,我们将把前面所讲过的知识综合起来,开发一个贪吃蛇游戏。游戏很简单,相信大家都有见过,多多少少也都玩过。我们在实现这个贪吃蛇游戏时,会利用到事件系统、Graphics View Framework、QPaint
2015-11-14 10:49:09 643
转载 Graphics View Framework
http://www.devbean.net/2012/12/qt-study-road-2-gvf/Graphics View 提供了一种接口,用于管理大量自定义的 2D 图形元素,并与之进行交互;还提供了用于将这些元素进行可视化显示的观察组件,并支持缩放和旋转。我们通常所说的 Linux 的 KDE 桌面环境,就是建立在 Graphics View 基础之上的(尽管新版本的 KDE
2015-11-13 11:42:17 553
转载 绘制设备
http://www.devbean.net/2012/12/qt-study-road-2-paint-device/绘图设备是继承QPainterDevice的类。QPaintDevice就是能够进行绘制的类,也就是说,QPainter可以在任何QPaintDevice的子类上进行绘制。现在,Qt 提供了若干这样的类:Qt4:Qt5:
2015-11-13 11:32:51 537
转载 坐标系统 有点晕
在经历过实际操作,以及前面一节中我们见到的那个translate()函数之后,我们可以详细了解下 Qt 的坐标系统了。泛泛而谈坐标系统,有时候会觉得枯燥无味,难以理解,好在现在我们已经有了基础。坐标系统是由QPainter控制的。我们前面说过,QPaintDevice、QPaintEngine和QPainter是 Qt 绘制系统的三个核心类。QPainter用于进行绘制的实际操作;QP
2015-11-13 11:20:03 426
转载 渐变 -- QBrush
http://www.devbean.net/2012/11/qt-study-road-2-gradient渐变是绘图中很常见的一种功能,简单来说就是可以把几种颜色混合在一起,让它们能够自然地过渡,而不是一下子变成另一种颜色。渐变的算法比较复杂,写得不好的话效率会很低,好在很多绘图系统都内置了渐变的功能,Qt 也不例外。渐变一般是用在填充里面的,所以,设置渐变是在QBrush里面。
2015-11-13 11:02:50 3679
转载 反走样
http://www.devbean.net/2012/11/qt-study-road-2-antialiasing/我们在光栅图形显示器上绘制非水平、非垂直的直线或多边形边界时,或多或少会呈现锯齿状外观。这是因为直线和多边形的边界是连续的,而光栅则是由离散的点组成。在光栅显示设备上表现直线、多边形等,必须在离散位置采样。由于采样不充分重建后造成的信息失真,就叫走样;用于减少或消除这
2015-11-13 10:52:15 634
转载 画刷(QBrush)和画笔(QPen) 都是用来定义QPainter
http://www.devbean.net/2012/11/qt-study-road-2-brush-pen/前面一章我们提到,Qt 绘图系统定义了两个绘制时使用的关键属性:画刷和画笔。前者使用QBrush描述,大多用于填充;后者使用QPen描述,大多用于绘制轮廓线。QBrush定义了QPainter的填充模式,具有样式、颜色、渐变以及纹理等属性。画刷的st
2015-11-13 10:36:35 12973 1
转载 Qt 绘制系统简介
http://www.devbean.net/2012/10/qt-study-road-2-paint-sys/Qt 的绘图系统允许使用相同的 API 在屏幕和其它打印设备上进行绘制。整个绘图系统基于QPainter,QPainterDevice和QPaintEngine三个类。QPainter用来执行绘制的操作;QPaintDevice是一个二维空间的抽象,这个二维空间允许
2015-11-13 10:31:45 576
转载 自定义事件 对事件需要好好研究一下
http://www.devbean.net/2012/10/qt-study-road-2-custom-event/尽管 Qt 已经提供了很多事件,但对于更加千变万化的需求来说,有限的事件都是不够的。例如,我要支持一种新的设备,这个设备提供一种崭新的交互方式,那么,这种事件如何处理呢?所以,允许创建自己的事件 类型也就势在必行。即便是不说那种非常极端的例子,在多线程的程序中,自定义
2015-11-13 10:15:27 580
转载 事件总结
http://www.devbean.net/2012/10/qt-study-road-2-event-summary/Qt 的事件是整个 Qt 框架的核心机制之一,也比较复杂。说它复杂,更多是因为它涉及到的函数众多,而处理方法也很多,有时候让人难以选择。现在我们简单总结一下 Qt 中的事件机制。Qt 中有很多种事件:鼠标事件、键盘事件、大小改变的事件、位置移动的事件
2015-11-13 10:05:53 330
转载 事件过滤器 不是很明白
http://www.devbean.net/2012/10/qt-study-road-2-event-filter/有时候,对象需要查看、甚至要拦截发送到另外对象的事件。例如,对话框可能想要拦截按键事件,不让别的组件接收到;或者要修改回车键的默认处理。通过前面的章节,我们已经知道,Qt 创建了QEvent事件对象之后,会调用QObject的event()函数处理事件的分发。
2015-11-13 00:08:24 1789
转载 event() 重载 小心父类同名函数
http://www.devbean.net/2012/10/qt-study-road-2-event-func/前面的章节中我们曾经提到event()函数。事件对象创建完毕后,Qt 将这个事件对象传递给QObject的event()函数。event()函数并不直接处理事件,而是将这些事件对象按照它们不同的类型,分发给不同的事件处理器(event handler)。
2015-11-12 23:04:42 782
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人