自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Essential Qt 第十三章 文件拖放

这一章,将实现ReadMe程序的最后一个功能,即文件的脱放,想ReadMe这样的编辑器,通过把一个文件拖放至窗体内来实现文件的打开是一个很常见的操作模式,Qt对这一操作做了比较细致的区分,最主要的是通过拖事件dropEnterEvent()以及放事件dragEvent(),除此意外,Qt还提供了dragMoveEvent()和dragLeaveEvent()来应对一些特殊情况或者一些细致的控制,当

2017-03-15 17:32:43 493

原创 学生管理系统

首先这个程序使用本地文件存放数据,在第一次运行的时候会在程序目录内生成一个info的目录,里面生成一些文件,这些文件即为程序所用的数据,千万不要 改文件内容或者文件名之类的,如果改了,就会导致程序崩溃(linux下为段错误,win7下为程序未响应,另外如果你装360的话,360可能会在次刻 跳出来直接把你的程序干掉,原因未知。。。)如果发送这种情况,直接删掉info目录即可,程序再

2017-03-09 20:25:44 756 1

原创 贪吃蛇

这里主要是食物的防止和蛇的游走,蛇我用QGraphicsPathItem,然后用QList snake来确定蛇身体坐标场景坐标为400X400,左上角定点坐标为(0,0),右下角点坐标为(400,400)每个格子都占据20X20的QRectF,蛇身的坐标为格子的中心距离场景最左上角的格子坐标(0,0,20,20),如果蛇头位于这个格子则有*(snake.begin())

2017-03-09 20:24:37 694

原创 山寨记事本

其实这个是我在联系拖放事件的时候做的一个小程序,只是可以接受文件拖放,后来我看到QTextEdit对于复制,粘贴等都有对应的函数和槽,于是就把这些东西加上去,然后这玩意就成了。 。。  这里字体的话用的是本地的字体,由于这个是把所有文件内容读到内存里操作,保存时候再由内存读回文件,所以没有做颜色和图片的功能另外这个程序如果拖入一个100MB以上的文件会直接挂掉。

2017-03-09 20:23:20 786

原创 扫雷

做完了才返现其实也没用到多少东西,唯一的可能就是重写了一个鼠标点击事件,其他的基本是教材前几章基础部分的内容用一个继承QPushButton的按钮来做地雷,在一个对话框上放置了15X15个用于来模拟地雷雷周围的8个格子肯定为数字,所以空白格子周围的8个格子肯定不会为地雷胜利条件为打开所有的空格(数字+空白)并且右键标记出所有的地雷(右键标记为?号)

2017-03-09 20:06:12 573

原创 资源总汇

* 不定期更新*欢迎指出错误,我会在更正后并备注上留下您的大名(如果愿意留名的话)~~~~~~完成程序~~~~~~1.扫雷    涉及内容:C++/Qt    详细内容请点我        扫雷重置版2.山寨记事本    涉及内容:C++/Qt    详细内容请点我3.贪吃蛇    设计内容:C++/Qt    详细内容请点我4.学生管理系统    涉及内容:C++/Qt    详细内容请点我~~...

2017-03-09 20:03:42 325

原创 将博客搬至CSDN

将博客搬至CSDN

2017-03-09 20:03:39 230

原创 Essential Qt 第十二章 文本文件的读写

在C/C++语言中,有一大堆关于本地文件读写的函数,比如C语言提供了至少30个以上的IO函数来支持文件的读写,而C++则使用fstream等类来完成,当然关于C++的IO相关部分足可以写出好几部大头书。在Qt中也提供了很多和文件读写相关的IO类,这里只能简单的介绍其中的一小部分。关于文件,window下区分文本文件和二进制文件,而linux下则不做区分,而Qt为了则提供了QTextStream和Q

2017-03-09 20:03:36 401

原创 Essential Qt 第十一章 事件的运用

这一章将通过一个完成一个完成的程序,这个程序将会运用到多个事件。这个程序被命名为TitleWidget.在界面程序中,滚动播放一些文字非常常见,而这个程序的最用将是能滚动播放默认的字符或输入的文本,完成后大概是这个样子其中的文字在从左到右不断的循环滚动播出。要实现这个程序,至少要用到3个事件,都是到目前尚未接触到的事件,先看程序头文件TitleWidget.h#ifndef TITLEWIDGET

2017-03-09 20:03:33 445

原创 Essential Qt 第十章 事件

在记事本程序ReadMe中,为了将查询对话框更好的安装到主程序中,修改了对话框的关闭事件,使得用于关闭对话框的时候,对话框只是隐藏,而不是真正的关闭。这只是对Qt中有关事件的运用的一小部分,Qt的事件(类)都继承自QEvent,查询Qt助手可以在文档发现,这个类提供了超过一百种Qt事件的支持,查询对话框中使用到的关闭时间也包含其中,这一章将通过几个例子详细说明事件的使用等。

2017-03-09 20:03:31 255

原创 Essential Qt 第九章 内存管理

前面连续几章制作了一个记事本(ReadMe)程序,当然并没有完成所有的功能。作为一名C++程序员,不知道你有没有注意到一个问题,在这个程序中有个类ReadMe,在类的构造函数中使用了大量的new来创建对象,然而这些构造函数中的new却找不到对应的delete,事实上这个类根本就没有析构函数。如果你有这样的疑惑,很好。。。。因为这对于C++程序员来说很正常。              Qt提供了一套

2017-03-09 20:03:28 285

原创 Essential Qt 第八章 记事本(五)实现格式菜单功能

              这一章将完成记事本程序里的“格式”菜单里的各项功能,第一个要完成的是“自动换行”,这个功能QTextEdit有个成员函数setLineWrapMode()可以实现这个功能,但问题是这里要求菜单上的”自动换行“是个单选框,QAction的成员函数setCheckable()提供了这个功能,与之对应的是isChecked()这个函数,他返回一个布尔值,用于表示QAction...

2017-03-09 20:03:25 835

原创 Essential Qt 第七章 记事本(四)实现编辑菜单功能

前面完成了记事本程序的界面制作,这一章将来实现这个程序的编辑菜单上的各项功能。我们使用QTextEdit来作为记事本程序的中心窗体,这里有一个很大的便利就是QTextEdit提供了很多和编辑有关的函数,槽等,在需要的时候只需要直接调用即可,其中,撤销,恢复,复制,粘帖,剪切,全选在QTextEdit均有对应的槽来实现其功能,我们要做的就是把编辑菜单上的动作(QAction)和这些槽连接起来即可,在

2017-03-09 20:03:22 433

原创 Essential Qt 第六章 记事本(三)添加图片,工具栏,状态栏与快捷键。

在有图像界面的程序中,添加一些图片是很常见的事,这些图片可以作为log,背景等,而在这里演示的是将一些图片添加到菜单中,并作为工具栏的内容。         Qt中使用一种qrc格式的文件来作为添加资源的文件,注意这里是添加的资源不限于图片,其他音频视频也可以这样添加。具体步骤:          1.在程序目录下新建一个images的子文件目录,然后将需要的图片放入这个子目录呢

2017-03-09 20:03:19 582

原创 Essential Qt 第五章 记事本(二)简单事件处理

这一章里出要会把前两章制作的2个窗体合并为一个程序,这里需要我们手动修改一个关闭事件,在Qt编程中,事件是一个很重要的部分,后面将会一单独的章节来详细讲述,但应为这个程序就会用到,所以在这一章简单的介绍下。           事件(event)是由窗口系统或者Qt自身产生,用以响应所发生的各类事情。就如第一章里的使用到的窗部件QPushButton,当鼠标(左键或右键)点击就会触发这个窗体的mo

2017-03-09 20:03:16 324

原创 Essential Qt 第四章 记事本(一)

接下来的几章将介绍如何制作在上一章提到的window记事本程序,这个程序本身并不复杂,但因为为需要穿插介绍一些其他内容,所以这个过程会显得比较长。在这一章里将先演示窗体的制作。           我们先把程序的界面做好,完成后的程序应该是这个样子的            这个窗体使用了QMainWindow,这个窗体最大的作用特点就是提供了菜单栏,工具栏,状态栏等常见的窗体元素,你也可以依据需要

2017-03-09 20:03:14 381

原创 Essential Qt 第三章 搜寻对话框

对于大多数window7/10等win用户来说,windows自带的记事本程序再熟悉不过了,他提供了最基本的文本编辑功能,接下来几章我们将制作一个类似的程序,整个程序相对(之前几章的例子)比较大,所以我们先从他的一个对话框开始。         这是一个查询对话框,和windows记事本的对话框很相似,这个对话框中除了前面章节已经介绍过的QLabel和QPushButton外,还使用了    QL

2017-03-09 20:03:11 373

原创 Essential Qt 第三章 信号与槽

还记得第一章的Hello Qt程序吗,不知道你有没有用QPushButton来代替QLabel来重新实现这个程序,因为这一章需要用到这个        在正式讨论信号与槽之前,我们先简单的讨论一个问题,在界面中,有很多结束/关闭的选项,点击一下程序就结束了,在Qt中,也有类似的情况,比如我点击一个按钮,整个程序就结束了,放在代码的角度来说,有一个类,当我执行他的一个成员函数(点击了这个按钮),另一

2017-03-09 20:03:08 344

原创 Essential Qt 第二章 界面布局

Qt的界面布局相对比较简单,虽然从代码角度来说可能有些长,但其实要理解他并不困难。      Qt的界面主要依赖2个布局管理器,分别是QHBoxLayout和QVBoxLayout这两个类,用于水平方向和垂直方向上的界面布局,通过这两个界面布局管理器和弹簧,我们可以应付绝大多数的场景,当然Qt还有很多用于界面布局的类,这些类主要用于一些特殊或者精确布局上,我会在以后用到的时候再分析      第一

2017-03-09 20:03:05 311

原创 Essential Qt 第一章 Hello Qt

很多编程都是从HelloWorld开始第一个程序的,我们就从Hello Qt开始#include#includeint main(int argc , char** argv){ QApplication app(argc,argv); QLabel* label = new QLabel("Hello Qt"); label->show(); return app.exe

2017-03-09 20:03:03 529

原创 C++类成员变量是为什么选择private?

首先说明下,在c++标准中,类成员变量可以有3个关键词,public,protected,private,分别对应公有成员,保护成员,私有成员       换句话说,c++标准是完全允许使用公有成员的,所以我讨论的是我个人不用protected或public成员的原因,并不代表你(或其他人)不可以用      事实上,我绝对不会反对你将类成员设为公有,因为那和我没关系。。回到正题~~~~~~~~~

2017-03-09 20:03:00 4001 7

原创 C Primer Plus 第十六章 编程练习 1-7题

第2题#include<stdio.h>#define TK(X,Y) 1/((1/X+1/Y)/2)int main(void){ int i = 10; int j = 5; printf("结果为%.2lf.",TK((double)i,(double)j)); return 0;}第3题#include<stdio.h>#include&l...

2017-03-09 20:02:57 476

原创 C Primer Plus 第十四章 编程练习 1-11题

第3题#include<stdio.h>#define Len 40#define Counts 100struct Book{ char title[Len]; char atuhor[Len]; float value;};int main(void){ int numbers = 0; struct Book books[Counts]; d...

2017-03-09 20:02:54 788

原创 C Primer Plus 第十二章 编程练习 1-8题

第1题#include<stdio.h>int critic(void);int main(void){ int realResult; printf("Please Try To Input Any INteger:\n"); scanf("%d",&realResult); while(realResult != 56) realResult...

2017-03-09 20:02:52 589

原创 C Primer Plus 第十一章 编程练习 1-15题

第1题#include<stdio.h>void readChar(char* words , int len);int main(void){ int LEN; printf("Please Input The Max Lenght:\n"); scanf("%d",&LEN); getchar(); char Letters[LEN]; rea...

2017-03-09 20:02:49 740

原创 python 调用 C/C++ 编程

~~~~~~~~~~~P1~~~~~~~~~~~~~首先,先用C写一个简单的函数Show.c#includevoid ShowString(){ printf("Hello World.\n")}这个函数是一个最简单的HelloWorld函数,几乎所有编程语言教材都会以她作为第一个例子(跑题了。。。)我们需要做的是在一个python脚本中调用这个函数Show.py#!/usr/bin/env p

2017-03-09 20:02:46 203

原创 python 核心编程 第九章

第1题#!/usr/bin/env pythonprint "Please Input The Name Of File:",FileName = raw_input()files = open(FileName,"r")i = 0for Line in files: if Line[0] == "#" and i != 0: pass else: prin

2017-03-09 20:02:43 254

原创 python 核心编程 第十一章

第3题#!/usr/bin/env pythondef max2(x,y): return x if x>y else ydef min2(x,y): return x if xprint max2(8,4)print min2(8,4)def my_max(anyList): try: #Be sure the list isn't e

2017-03-09 20:02:40 376

原创 python 核心编程 第十章

第6题#!/usr/bin/env pythonimport sysdef safeOpen(fileName,openType): try: files = open(fileName,openType) except IOError: return None else: return files FL = safeOpen((sys.

2017-03-09 20:02:37 304

原创 Python 核心编程 第八章 练习题

第2题#!/usr/bin/env pythondef printStep(starInt , endInt , step): for i in range(0,(endInt - starInt) / step + 1): print starInt + i * step,print "Please Input StartNumber:",beginInt = int(raw

2017-03-09 20:02:35 289

原创 第七章

第3题#!/usr/bin/env pythontestDict = dict((['p',1],['y',2],['t',3],['h',4],['o',5],['n',6])) #aprint testDictkeyList = list(testDict.keys())keyList.sort()print keyListfor x in keyList: #b print

2017-03-09 20:02:32 202

原创 第六章

第2题#!/usr/bin/env pythonimport stringimport keywordfirstLetter = string.letters + '_'letterOnLevel = firstLetter + string.digitsprint "Please Input Words To Test:",testWord = raw_input()if len(testWor

2017-03-09 20:02:29 365

原创 第五章

第2题#!/usr/bin/env pythondef pt(X,Y): return X*Yprint "3*4 = %d"%(pt(3,4))第3题#!/usr/bin/env pythonprint "Please Input :",result = int(raw_input())if result = 90: print "A"elif 80 print "B"el

2017-03-09 20:02:26 214

原创 第三章

第10题#!/usr/bin/env pythonimport oslineEnd = os.linesepprint"Please Input Any Name Of File:",fileName = raw_input()try: #chech file exists or not newFile = open(fileName,'w')except: print "Fi

2017-03-09 20:02:24 198

原创 扫雷

做完了才返现其实也没用到多少东西,唯一的可能就是重写了一个鼠标点击事件,其他的基本是教材前几章基础部分的内容用一个继承QPushButton的按钮来做地雷,在一个对话框上放置了15X15个用于来模拟地雷雷周围的8个格子肯定为数字,所以空白格子周围的8个格子肯定不会为地雷  胜利条件为打开所有的空格(数字+空白)并且右键标记出所有的地雷(右键标记为?号)然后这里做了个简单的难度选择,在选项菜单中选择

2017-03-09 20:02:21 386

原创 C Primer Plus 第十三章 编程练习 1-13题

第一题#include<stdio.h>#include<stdlib.h>const int LEN = 100;int main(void){ char fileName[LEN]; FILE* tarFile; char ch; printf("PLease Input File Name:\n"); gets(fileName); ...

2017-03-09 20:02:18 1029

原创 第二章

第四题#!/usr/bin/env python#for AmyString = raw_input('Please Input Any String To Test:')print myString#for BmyInt = raw_input('Please Input Any Integer To Test:')Ints = int(myInt)print Ints第五题#!/usr/bin

2017-03-09 20:02:15 160

原创 史前巨坑第三季 之 Python核心编程

1.系统ubuntukylin14.04 + python2.72.图像界面我在用Qt,最近没有学习web的计划,所以有关这两块的内容的代码没写第二章第三章第五章第六章第七章第八章第九章第十章第十一章

2017-03-09 20:02:12 247

原创 C Primer Plus 第十章 编程练习 1-11题

第一题#include<stdio.h>#define Months 12#define Years 5int main(void){ const float rain[Years][Months] = { {4.3,4.3,4.3,3.0,2.0,1.2,0.2,0.5,2.1,3.6,1.1,0.9}, {1.1,2.2,2.2,2.2,1.1,2.2,...

2017-03-09 20:02:09 995 1

原创 C Primer Plus 第九章 编程练习 1-9题

第一题#include<stdio.h>double Min(double x , double y);int main(void){ double X; double Y; printf("Please Input First Number:\n"); scanf("%lf",&X); getchar(); printf("Please Inp...

2017-03-09 20:02:06 749

空空如也

空空如也

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

TA关注的人

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