自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(17)
  • 资源 (23)
  • 收藏
  • 关注

原创 看懂这道题,你就学会指针了!!!

用变量a给出下面的定义a) 一个整型数b)一个指向整型数的指针( A pointer to an integer) c)一个指向指针的的指针,它指向的指针是指向一个整型数( A pointer to a pointer to an intege)r d)一个有10个整型数的数组( An array of 10 integers) e) 一个有10个指针的数组,该指针是指向一个整型数的。

2014-10-30 17:18:57 696

原创 面试总结

========================================中科院第5研究所===================================================Qt Creator是一个跨平台的、完整的Qt集成开发环境,其中包括了高级C++代码编辑器、项目和生成管理工具、集成的上下文相关的帮助系统、图形化调试器、代码管理和浏览工具等。只有加入了Q_

2014-10-25 17:43:56 359

原创 进程vs线程--网络通信

进程 vs 线程:1.进程是运行中的程序,是系统进行资源分配和调度的一个独立单位;线程是程序执行的最小单位,是CPU调度和分派的基本单位;2.进程是资源分配的基本单位,同一进程内多个线程共享其资源;3.进程拥有独立的地址空间,同一进程内多个线程共享其资源;4.进程包括(地址空间(内存)、寄存器(CPU状态)、I/O状态),是对计算机的完整抽象;5.线程包括(栈、寄存器(CPU状

2014-10-25 17:42:56 471

原创 epoll和select区别

先说下本文框架,先是问题引出,然后概括两个机制的区别和联系,最后介绍每个接口的用法一、问题引出 联系区别问题的引出,当需要读两个以上的I/O的时候,如果使用阻塞式的I/O,那么可能长时间的阻塞在一个描述符上面,另外的描述符虽然有数据但是不能读出来,这样实时性不能满足要求,大概的解决方案有以下几种:1.使用多进程或者多线程,但是这种方法会造成程序的复杂,而且对与进程与线程的创建维护也需要

2014-10-25 13:59:47 527

原创 Linux系统下的命令操作总结

资料:http://blog.csdn.net/zyx6a      yakou.blog.chinaunix.net           blog.csdn.net/xhao014/article/details/8046345      www.w3cschool.cc/python/python-tutorial.html   python编程语言sudo apt-get i

2014-10-25 13:42:53 366

原创 Python知识总结

pythonquit()    --退出python内建函数:raw_input():输入函数    len():求字符串长度目录    range():生成一个序列(例如:range(1,5) 给出序列[1,2,3,4])自定义函数:函数通过 def 关键字定义。def关键字后跟一个函数的 标识符 名称,然后跟一对圆括号。圆括号之中可以包括一些变量名,该行以冒号结

2014-10-25 13:13:57 367

原创 Linux下的Python安装及Django项目

pip    --python的包管理器    sudo apt-get install python-pip                sudo pip install django1.django-admin.py startproject mysite    --生成mysite目录2.进入mysite  python manage.py migrate3

2014-10-25 13:12:17 1187

原创 一个简单的Django项目

准备条件:1.  安装好Python,并将其安装目录加入环境变量。2.  安装好Django,并将django-admin.py所在目录加入环境变量。新建项目步骤:1. 启用DOS,进入要创建项目的目录D:\Django Projects。2. 执行命令:django-admin.py startproject exercise    (新建一个名为exercise的项目,执行

2014-10-25 13:10:50 578

原创 Windows下Django的安装

前提:1.  已经安装好Python。2.  Django下载好并已解压。步骤:1.  启动命令行。2.  进入Django的文件夹。3.  使用命令:python setup.py install。4.  没有报错的话,将安装后的Django里的bin文件夹加入环境变量。(Python文件夹位置\Lib\site-packages\django\bin\)。5. 

2014-10-25 13:09:44 395

原创 面试题

1. C++类中,成员函数和成员变量加上static分别有什么作用?2. 在16位机器中,定义一个数组short a[100],则sizeof(a)的值是            。3. C++中的重载、覆盖、隐藏的区别。4. 在16位cpu的系统中,有如下C语言源代码:    short  A,B;    A = B * 1000 / 123;   //……①    A =

2014-10-25 13:06:03 408

原创 Qt中常用的类

QChar            表示一个字符的类,包含于QtCore判断:bool isDigit() const;//判断是否是十进制数字('0'-'9')bool isLetter() const;//判断是否是字母bool isNumber() const;//判断是否是数字,包括正负号,小数点等bool isLetterOrNumber() const;//判断力是否

2014-10-25 12:44:05 559

原创 BS结构和CS结构

C/S又称Client/Server或客户/服务器模式。服务器通常采用高性能的PC、工作站或小型机,并采用大型数据库系统,如Oracle、Sybase、Informix或 SQL Server。客户端需要安装专用的客户端软件。B/S是Brower/Server的缩写,客户机上只要安装一个浏览器(Browser),如Netscape Navigator或Internet Explorer,服

2014-10-25 12:41:57 522

原创 S5PV210 时钟配置解析

S5PV210时钟体系S5PV210中包含3大类时钟domain,分别是主系统时钟domain (简称MSYS,下面将使用简称来进行相关讲解)、显示相关的时钟domain (DSYS)、外围设备的时钟domain (PSYS)。1) MSYS:用来给cortex a8处理器,dram控制器,3D,IRAM,IROM,中断控制器等提供时钟;2) DSYS:用来给显示相关的部件提供时钟,包

2014-10-25 12:05:53 503

原创 ARM--交叉编译器及开发板系统的安装

PC机是通用机算计系统嵌入式针对于通用机算机嵌入式cpu:x86\arm(裸机\带OS)RISC:精简指令集(arm:ARM公司设计 )CISC:复杂指令集(x86:Intel AMD公司生产)nand/nor flash(闪存取代硬盘)CPU中的存储器叫做寄存器安装交叉编译器:arm-linux-gcc1.进入arm-linux-gcc所在目录执行

2014-10-20 19:40:47 1662

原创 qt--mplayer安装及使用方法

一、编译新版本mplayer需要安装一些包:1.1版mplayer编译:sudo aptitude install yasm    (configure时报没有yasm,所以需要安装)sudo apt-get install libgtk2.0-dev    (configure --enable-gui 需要安装gtk+支持包)sudo apt-get install zlib1

2014-10-15 10:17:21 1161

原创 sql安装及使用方法

sqlite3官网地址:www.sqlite.org源上安装:sudo apt-get install libsqlite3-dev sqlite3安装过程可能遇到的问题:1.找不到软件包。    sudo apt-get update   然后再次安装。2.依赖关系不满足。    sudo apt-get install aptitude    sudo 

2014-10-14 11:56:38 600

原创 Ubuntu宽带拨号连接设置

现在ADSL上网的人很多,在安装了ubuntu系统后,第一件事情就是这个。所以,希望大家能熟悉这个步骤。建议:因为你在看(或者说是需要)这个教程的时候,还不能联网呢,所以,建议需要的朋友,最好把这个网页保存下来!在UB下边看边操作,这样就OK了~~~第一步: 从 Applications - Accessories - Terminal ,运行“终端”,在终端里面输入:sudo p

2014-10-11 08:24:00 1638

Qt之无边框界面包括最大化、最小化和关闭按钮及实现可移动、窗口伸缩功能

Qt之无边框界面包括最大化、最小化和关闭按钮及实现可移动、窗口伸缩功能

2022-11-30

QSS美化之黑色皮肤最全

QSS美化之黑色皮肤最全

2022-11-30

QSS美化之青色风格最全,可直接用

QSS美化之青色风格最全,可直接用

2022-11-30

vs2015静态编译Qt5.7.1及使用

本文介绍了用vs2015静态编译Qt5.7.1详细过程 及 如何配置使用

2017-08-08

批量文件重命名工具

用于批量文件重命名

2017-07-27

JS中数学函数的使用

JS中数学函数的介绍及使用

2017-03-24

物流查询工具

基于Qt5.7 和 快递 100 API 并 通过解析返回的JSON数据开发的一款物流查询工具

2016-08-20

天气查询工具

基于Qt5.7 和 百度天气API 并 通过解析返回的JSON数据开发的一款天气查询工具

2016-08-18

Qt之操作Excel

使用Qt操作Excel的常用操作

2016-08-09

Qt之屏幕开满玫瑰花

用Qt5.7写的一个屏幕开满玫瑰花的程序;也可以在屏幕右下方显示单个玫瑰花并窗口置顶

2016-08-09

Qt之国际化

Qt国际化语言的使用、多语言切换

2016-08-09

基于Qt的照片查看器

查看照片、旋转和放大缩小、播放幻灯片

2016-08-09

获取文件信息

获取文件的类型、权限、创建时间、修改时间、最后访问时间等文件的属性信息

2016-08-09

Git使用教程

本文详细介绍了Git代码托管工具在Windows系统下的安装和使用方法

2016-07-24

tableView用法详解

tableView用法详解

2016-07-15

基于Qt的关机程序

该软件实现了 计算机关机 重启 定时关机等功能,同时还实现了带有系统托盘的功能。

2016-03-27

Win764位安装Oracle11g及新建表空间和用户

Win764位安装Oracle11g及新建表空间和用户的详细步骤

2015-11-21

QTreeView用法详解

介绍了QTreeView的用法以及模型-视图的相关操作

2015-08-17

基于Tiny210开发板的led--流水灯

编写裸板程序 , 在 tiny210 开发板上 , 用核心板上的 4 个 LED 灯 , 生成一个 4 位 2 进制数计数器 , 以大约 1Hz 的频率 (1 次 / 秒 ) 计数 ( 显示 0,1,2,3...) 。

2014-10-21

c语言文件读写函数

字符读写函数:(fgetc和fputc) fputc函数:把一个字符写到磁盘文件上。具体格式如下:fputc(ch,fp) fgetc函数:从磁盘文件读取一个字符。其格式如下:ch=fgetc(fp) 字符串读写函数:(fgets和fputs) fputs函数:一般格式为:fputs(str,fp) fgets函数:一般格式为:fgets(str,n,fp) 读写数据块函数(fread和fwrite) 一般调用形式为:fread(buffer,size,count,fp) fwrite(buffer,size,count,fp)

2014-09-28

飞翔的小鸟

#include "world.h" #include <QPainter> #include <QFile> #include <QTextStream> #include <QDataStream> #include "bird.h" #include <QDebug> World::World(QWidget* parent): QWidget(parent) { //this->resize(432, 644); this->setGeometry(400,200, 432,644); bird = new Bird; ground = new Ground; c1 = new Column(0); c2 = new Column(1); gameoverImage.load(":gameover"); bgImage.load(":bg"); startImage.load(":start"); gameOver = false; startGame = false; score = 0; score_label = new QLabel(this); score_label->setGeometry(QRect(270,10,120,40)); score_label->setStyleSheet(QString::fromUtf8("font: 20pt \"Khmer OS System\";\n" "color: rgb(85, 0, 255);")); timer.setInterval(1000/70); connect(&timer, SIGNAL(timeout()), this, SLOT(run())); //一会写run // timer.start(); QFile file("./score.dat"); if(!file.open(QFile::ReadOnly | QFile::Text)){ best_score = 0; }else{ //QTextStream in(&file); QDataStream in(&file); in >> best_score; qDebug() << "read..."; } file.close(); } World::~World(){ if(score > best_score) save(score); } void World::save(unsigned short best){ QFile file("./score.dat"); if(!file.open(QFile::WriteOnly | QFile::Text)){ return; }else{ // QTextStream out(&file); QDataStream out(&file); out << best; //qDebug() << "write"; } file.close(); } //哑元函数 void World::paintEvent(QPaintEvent*){ QPainter painter(this); painter.drawImage(0,0,bgImage); //将画笔传给bird对象,由bird对象画出当前小鸟的图片 c1->paint(&painter); c2->paint(&painter); bird->paint(&painter); ground->paint(&painter); if(!startGame){ painter.drawImage(0,0,startImage); } if(gameOver){ painter.drawImage(0,0,gameoverImage); } if(!startGame){ painter.setFont(QFont("Khmer OS System",20,QFont::Bold)); painter.drawText(QRect(QPoint(145,390), QPoint(320,445)), QString::fromUtf8("历史最高:")+=QString::number(best_score)); } score_label->setText(QString("score:")+=QString::number(score)); } void World::run(){ bird->fly();//飞 bird->step();//小鸟下落 c1->step(); c2->step(); ground->step(); if(bird->pass(*c1) || bird->pass(*c2)){ qDebug("pass"); score++; } if(bird->hit(*c1,*c2,*ground)){ timer.stop(); gameOver = true; //gameover ... //TODO /** 1)加载gameover图片,实现点击图片 的开始按钮重新开始游戏。 2)将开始画面加入,点击鼠标或者键盘的 空格键才开始游戏 完成上两步后做以下工作: 3)加入评分机制。 通过一根柱子得1分 */ } this->repaint();//重新绘制 } void World::mousePressEvent(QMouseEvent *p){ //点击鼠标让当前速度保持为初始速度 //speed = v0; //bird->speed = bird->v0; bird->flappy(); //restart()之前 starGame = false; if(!startGame){ startGame = true; timer.start(); } if(gameOver){ QRect rect(QPoint(135,331), QPoint(281,408)); QPoint point = p->pos(); if(rect.contains(point)){ restart(); } } } //实现restart void World::restart(){ gameOver = false; startGame = false; if(score > best_score){ best_score = score; save(best_score); } score = 0; delete bird; delete c1; delete c2; bird = new Bird; c1 = new Column(0); c2 = new Column(1); qDebug()<< "restart..."; this->repaint();//定时器停止需要手动重绘 }

2014-09-15

文件的读写操作

1.fgetc/fputc(fgetc结束标记EOF) //从fp指向的文件中一次读取一个字符 fgetc(fp) //读取n个字符到屏幕上 fputc(n,stdout); 2.fgets/fputs(fgets结束标记NULL) //从fp指向的文件中读文件的读写 文件起始处取信息到数组buf中,最大读取500字节,按行读取 fgets(buf, 500, fp);

2014-09-15

静态库和动态库制作和使用方法

静态库的制作:(inc/lib/src/main.c) gcc -c src/*.c(编译src目录下的.c文件生成.o文件) ar rs libmath.a *.o(生成静态库:libmath.a(命名规则:必须以lib开头,以.a结尾,中间是库名:math)) 静态库的使用: gcc main.c -L ./lib -l math -I ./inc -o main(-L:指定库名所在路径,-l:指定库名,-I:指定头文件路径)

2014-09-15

针对vim编辑器的vimrc文件配置

syntax on "语法高亮" set nocompatible "使用vim的键盘模式" set nu "设置行号" "set nobackup "不需要备份" set confirm "未保存或者只读时,弹出确认" set mouse=a "鼠标可用" set selection=exclusive set selectmode=mouse,key set showcmd "显示未完成命令" set tabstop=4 "tab为4个空格"

2014-09-15

C语言基础知识

float类型最少能精确到小数点后6位,通常是32位的。 double类型最少能精确到小数点后10位,通常是64位的。 通常double是最好的选择,因为其精度比较高,当然运行速度要比float要多不少。 double 和 float 的区别是double精度高,有效数字16位,float精度7位。但double消耗内存是float的两倍,double的运算速度比float慢得多 scanf函数,与printf函数一样,都被定义在头文件stdio.h里,因此在使用scanf函数时要加上#include <stdio.h>。它是格式输入函数,即按用户指定的格式从键盘上把数据输入到指定的变量之中。

2014-09-15

Linux基本命令

ubuntu系统终端的基本操作命令 which ls 查看要执行的命令所在位置 wc l file(其后可跟多个文件) 查看file文件的行数 whoami 查看用户 su wukong 切换用户 chmod 0664 file chmod go+w go+x file 修改权限(u:user g:group o:other) sudo chgrp police a 改变指定文件a所属的组为police sudo chown panda b 改变文件或目录b的属主为panda和属组 sudo chown +用户名+组名+文件 vi etc group 查看组 vi etc passwd 查看用户 addgroup 添加组 adduser 添加用户 delgroup 删除组 deluser 删除用户 exit 退出用户">ubuntu系统终端的基本操作命令 which ls 查看要执行的命令所在位置 wc l file(其后可跟多个文件) 查看file文件的行数 whoami 查看用户 su wukong 切换 [更多]

2014-09-15

空空如也

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

TA关注的人

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