自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

  • 博客(167)
  • 资源 (9)
  • 收藏
  • 关注

原创 QTimer

 在mainwindow.h中添加代码。在mainwindow.cpp中添加代码。添加头文件#include 在构造函数里添加以下代码。 startTimer(1000); //其返回值为1,即其timerId为1startTimer(5000);//其返回值为2,即其timerId为2startTimer(10000); //其返回值为3,即其timerId为3 

2009-11-11 08:31:00 313

原创 固定窗口大小

 layout()->setSizeConstraint(QLayout::SetFixedSize); 另一种:构造函数的实现从这里开始。同大多数窗口部件一样,它把parent传递给了QWidget构造函数。      : QWidget(parent) {     setFixedSize(200, 120); 我们固定它的值。

2009-11-10 13:55:00 415

原创 实现状态栏显示

 QStatusBar* bar = ui->statusBar; //获取状态栏//还有种写法://statusBar()->addWidget(locationLabel);//statusBar()->addWidget(formulaLabel, 1);first_statusLabel = new QLabel; //新建标签first_statusLabel->se

2009-11-10 13:40:00 294

原创 鼠标移动事件&键盘按下事件

 /*以下是鼠标移动事件*/void MainWindow::mouseMoveEvent(QMouseEvent *m){//这里的函数名和参数不能更改QCursor my(QPixmap("E:/Qt/Qt-Creator-Example/event/time.png"));//为鼠标指针选择图片,注意这里要用绝对路径,且要用“/”,而不能用“/”QApplicatio

2009-11-10 12:44:00 622

原创 打开和保存文件对话

 QString fileName = QFileDialog::getOpenFileName(this);if (!fileName.isEmpty()){   loadFile(fileName);} Quote:   QString fileName = QFileDialog::getSaveFileName(this);   if (fileName.isEmpty()

2009-11-10 12:39:00 231

原创 QCloseEvent

 如果在窗体关闭前自行判断是否可关闭,重新实现这个窗体的closeEvent()函数void MainWindow::closeEvent(QCloseEvent *event){   if (maybeSave())   {event->accept();   }   else   {event->ignore();   }}注意:如果加入QMessageBox提示框后,有时没有这么简单

2009-11-10 12:33:00 1638

原创 静态编译

 1 编译QT。要静态编译,首先要求QT是静态编译过的。在QT目录下执行:configure.exe -static -releasemake sub-src就可以编译出静态库。如果只是用来分发程序,也可以mingw32-make release sub-src只编译一个静态库。这个过程需要1-2个小时。QT目录会变成1.8G左右。注:mingw32-make和make是一样的。如

2009-10-29 13:57:00 318

原创 QT API

void QWidget::closeEvent ( QCloseEvent * e ) [虚 保护] 这个对于事件e的事件处理器可以在子类中被重新实现来接收窗口部件关闭事件。 默认实现是调用e->accept(),它隐藏这个窗口部件================QAction类提供了一个可以同时出现在菜单和工具条上的抽象用户界面操作一个操作可以被添加到菜单和工具条中并且将会

2009-10-22 11:55:00 397

原创 信号和槽

   你可以为一个槽连接多个信号, 同样一个信号也可以被连接到多个槽.甚至于你可以把一个     信号直接连接到其他信号. (在第一个信号发送后将马上发送第二个信号.)     总之, 信号和槽形成了一个强大的‌组件编程机制. 一个很小的基于对象声明如下:      #include       class Counter : public QObject      {          

2009-10-20 09:56:00 1330

原创 宏定义

 #ifndef   ...                       //检查***是否已经被定义,如果没定义,进入     #def...                               //定义***         code         #endif                                 //结束    一个叫head.h的头文件,被你工

2009-10-19 17:44:00 294

原创 QObject

 QObject::connect(button, SIGNAL(clicked()), &a, SLOT(quit())); QObject是所有类的根。Qt使用这个QObject实现了一个单根继承的C++。它里面有一个connect静态函数,用于连接信号槽。================一个按钮被点击时,它会发出一个clicked信号,意思是,向周围的组件们声明:我被点击啦!

2009-10-19 16:27:00 2240

原创 Makefile

 生成Makefile当你已经创建好你的项目文件,生成Makefile就很容易了,你所要做的就是先到你所生成的项目文件那里然后输入:Makefile可以像这样由“.pro”文件生成:    qmake -o Makefile hello.pro================qmake -project hello.pro //创建工程qmake -o Makefile hello

2009-10-19 09:56:00 821

原创 纯虚函数

 抽象类只能作为基类来使用,其纯虚函数的实现由派生类给出。如果派生类没有重新定义纯虚函数,而派生类只是继承基类的纯虚函数,则这个派生类仍然还是一个抽象类。如果派生类中给出了基类纯虚函数的实现,则该派生类就不再是抽象类了,它是一个可以建立对象的具体类了。  纯虚函数是一种特殊的虚函数,它的一般格式如下:    class     {        virtual ()=0;       

2009-10-18 18:04:00 216

原创 虚基类

     多继承体系中:           class   B{};           class   A   :   public   B{};           class   C   :   public   B{};           class   D   :   public   A,   public   C{};           A里有个B,C里也有个B,则D里会有两个

2009-10-18 15:10:00 243

原创 类的大小

 class CBase{};运行coutsizeof(CBase)=1;  一个类的大小可以被下面的方式改变:           class   A     {      bool   a;      int   b;      bool   c;     };   //sizeof   (A)   ==   12             在我的电脑上sizeof   (A)

2009-10-18 14:59:00 179

原创 虚函数

 一, 什么是虚函数(如果不知道虚函数为何物,但有急切的想知道,那你就应该从这里开始)  简单地说,那些被virtual关键字修饰的成员函数,就是虚函数。虚函数的作用,用专业术语来解释就是实现多态性(Polymorphism) class A{  public:  virtual void print(){ cout  };  class B:public A{  

2009-10-18 14:39:00 192

原创 派生方式

1、如果类里面有成员类,成员类的构造函数优先被调用;2、创建派生类的对象,基类的构造函数函数优先被调用(也优先于派生类里的成员类);3、 基类构造函数如果有多个基类则构造函数的调用顺序是某类在类派生表中出现的顺序而不是它们在成员初始化表中的顺序;4、成员类对象构造函数如果有多个成员类对象则构造函数的调用顺序是对象在类中被声明的顺序而不是它们出现在成员初始化表中的顺序; 

2009-10-18 14:10:00 387

原创 友元

C++要求 赋值 = 下标 [] 调用 () 和成员访问箭头 -> 操作符必须         被定义为类成员操作符 任何把这些操作符定义为名字空间成员的定义都会被标记         为编译时刻错误 例如   // 错误: 必须是类成员 char& operator[]( String & ,int ix ); // 错误: 不能为 int 重新定义内置的操作符 int operator

2009-10-18 11:46:00 202

原创 无名对象

 #include iostream> using namespace std; class Internet { public:      Internet(char *name,char *address)      {         cout         strcpy(Internet::name,name);      }      Internet(Internet &temp

2009-10-18 11:44:00 193

原创 运算符重载-=

 #include using namespace std; class Internet { public: Internet(char *name,char *url) { Internet::name = new char[strlen(name)+1]; Internet::url = new char[strlen(url)+1]; if(name) { strcpy(Interne

2009-10-18 09:13:00 184

原创 运算符重载

#include iostream>    using namespace std;        class Test      {          public:          Test(int a = 0)          {              coutthis            Test::a = a;          }          Test(Test &te

2009-10-18 09:00:00 167

原创 成员初始化表

 让我们修改Account 类重新声明它的_name 成员为string 型#include class Account {public:// ...private:unsigned int _acct_nmbr;double _balance;string _name;};我们还需要修改构造函数这涉及到两个主题1 维持与原始接口的兼容性同时适合新的类型2 用一组相关的构造函数来初始化一个成员类对

2009-10-17 13:26:00 187

原创 类对象数组

 类对象数组与内置类型数组的定义方式相同例如Account table[ 16 ];定义了一个含有16 个Account 对象的数组且每个元素依次用Account 缺省构造函数初始化如果我们愿意的话则可以用放在括号中的初始化表给构造函数提供显式实参例如Account pooh_pals[] = { "Piglet", "Eeyore", "Tigger" };定义了三个元素的数组三个元素依次用构造

2009-10-17 13:03:00 314

原创 析构函数

 让我们看一个例子,当写:char *arena = new char [ sizeof Image];时,实际上我们已经分配了一个大小等于Image 型对象的新的堆存储区。相关联的内存区没有被初始化,里面是上次使用之后的一段随机位序列。当我们写:Image *ptr = new (arena) Image( “Quasimodo” )时,没有新的内存被分配。相反,ptr 被赋值为与arena 相

2009-10-17 12:26:00 240

原创 auto_ptr

   1 构造函数与析构函数auto_ptr在构造时获取对某个对象的所有权(ownership),在析构时释放该对象。我们可以这样使用auto_ptr来提高代码安全性:int* p = new int(0);auto_ptr ap(p);从此我们不必关心应该何时释放p, 也不用担心发生异常会有内存泄漏。这里我们有几点要注意:1) 因为auto_ptr析构的时候肯定会删除他所拥有的那个对

2009-10-17 11:48:00 165

原创 new malloc

 new 是c++中的操作符,malloc是c 中的一个函数2、new 不止是分配内存,而且会调用类的构造函数,同理delete会调用类的析构函数,而malloc则只分配内存,不会进行初始化类成员的工作,同样free也不会调用析构函数3、内存泄漏对于malloc或者new都可以检查出来的,区别在于new可以指明是那个文件的那一行,而malloc没有这些信息。4、new 和 malloc效率比较

2009-10-17 10:48:00 249

原创 C++ 几种对象数组初始化(带参数的构造函数)

 class R{public: R ( int r1, int r2) : R1(r1),R2(r2){}private: int R1, R2;};void main(){e.g 1   vector r;   for(int i=0; i   r.push_back( new  R(i,i+1));e.g 2   R *r[5];   for ( int i=0; i    

2009-10-17 10:44:00 2785

原创 拷贝构造函数

1. 对于一个类X,如果一个构造函数的第一个参数是下列之一:a) X&b) const X&c) volatile X&d) const volatile X&且没有其他参数或其他参数都有默认值,那么这个函数是拷贝构造函数. X::X(const X&);  //是拷贝构造函数    X::X(X&, int=1); //是拷贝构造函数    2.类中可以存在超过一个拷贝构造函

2009-10-16 16:40:00 307

原创 类的初始化

 Data 类需要提供一个构造函数吗正如它的定义所示它不需要因为它的所有数据成员都是公有的从C 语言继承来的机制支持显式初始化表类似于用在初始化数组上的初始化表例如int main(){// local1.ival = 0; local1.ptr = 0Data local1 = { 0, 0 };// local2.ival = 1024;// local2.ptr = "Anna Livia

2009-10-16 16:01:00 201

原创 局部类

 在局部类中嵌套的类可以在其类定义之外被定义但是该定义必须出现在包含外围局部类定义的局部域内在局部域定义中的嵌套类的名字必须由其外围类名限定修饰在外围类中该嵌套类的声明不能被省略例如void foo( int val ){class Bar {public:int barVal;class nested; // 嵌套类的声明是必需的};// 嵌套类定义class Bar::nested {// .

2009-10-16 15:01:00 163

原创 作为名字空间成员的类

 该类名不会与在其他名字空间中声明的名字冲突例如namespace cplusplus_pri mer {class Node { /* ... */ };} namespace DisneyFeatureAnimation {class Node { /* ... */ };}Node *pnode; // 错误: Node 在全局域中不可见// OK: 声明 nodeObj 的类型为

2009-10-16 14:46:00 149

原创 inline&const

结构体实例(包括共用体)和类实例的初始化方法完全相同,二者都可以应用于继承层次中。不同点是结构体(包括共用体)默认成员为public,而类默认成员是private型的。 struct S {     int            x;    unsigned short y;};S testS1={100,123};S testS2={200};//未指定值的数据成员初

2009-10-16 14:28:00 307

原创 嵌套类

  一个类可以在另一个类中定义这样的类被称为嵌套类nested class 嵌套类是其外围类的一个成员嵌套类的定义可以出现在其外围类的公有私有或保护区中 嵌套类的名字在其外围类域中是可见的但是在其他类域或名字空间中是不可见的这意味着嵌套类的名字不会与外围域中声明的相同名字冲突例如class Node { /* ... */ };class Tree {public:// Node 被封

2009-10-16 13:46:00 333

原创 类域

 class String {public:// 错误: 名字 index_type 还没有被声明char& operator[]( index_type );typedef int index_type;}; 在类定义中用到的名字必须在使用前首先被声明这个规则有两种例外的情况第一个例外是对于被用在inline 成员函数定义中的名字第二个例外是于被用作缺省实参的名字我们来依次了解每一种

2009-10-16 12:01:00 288

原创 结构体&对齐方式

 

2009-10-16 11:04:00 174

原创 位域

 有些信息在存储时,并不需要占用一个完整的字节, 而只需占几个或一个二进制位。例如在存放一个开关量时,只有0和1 两种状态, 用一位二进位即可。为了节省存储空间,并使处理简便,C语言又提供了一种数据结构,称为“位域”或“位段”。所谓“位域”是把一个字节中的二进位划分为几个不同的区域, 并说明每个区域的位数。每个域有一个域名,允许在程序中按域名进行操作。 这样就可以把几个不同的对象用一个字节的二进制

2009-10-16 10:59:00 182

原创 构造函数&私有

Class Singleton{public:static Singleton * GetInstance(){     if(!m_pInstance)        m_pInstance = new Singleton();     return pinstance;}private:     static Singleton *m_pInstance;     Singleton();  

2009-10-16 10:30:00 209

原创 联合

  union TokenValue {char _cval;int _ival;char *_sval;double _dval;};如果在TokenValue 的成员中最大的数据类型是_dval 则TokenValue 的大小是double型对象的大小缺省情况下union 的成员都是公有成员union 的名字可以被用在任何类名可以被使用的地方例如// TokenValue 类型的对象Token

2009-10-16 10:08:00 171

原创 匿名名字空间

 名字空间(namespace),是C++提供的一个解决符合名字冲突的特性。标准规定,在不同名字空间中命名相同的符号,代表不同的实体。通常,利用定义名字空间的办法,可以使模块划分更加方便,减少模块间的相互影响。通常定义一个名为MyNameSpace的名字空间,其形式为:        1 namespace MyNameSpace    2 {    3 } static修饰,在处理函

2009-10-16 10:08:00 1753 1

原创 类成员的指针

 1.首先普通函数指针不能被赋值为成员函数的地址,即使返回类型和参数完全匹配。例如:下面是的pfi是一个普通函数指针,它没有参数,返回类型为int:int (*pfi)();若有两个全局函数,HeightIs()和WidthIs():int HeightIs();int WidthIs();则下面的的赋值操作是合法的:pfi = HeightIs();pfi = WidthIs();但如今

2009-10-16 09:42:00 363

精通qt4编程 源码

精通qt4编程 源码 精通qt4编程 源码

2009-11-12

Qt4 中文版(第一章至第十章).pdf

Qt4 中文版(第一章至第十章).pdf C++ GUI Programming with Qt 4

2009-11-02

QT Qt 4 程序设计指南.pdf

tonkv 的 Qt 4 程序设计指南.pdf

2009-11-02

java core 7源码

java core 7源码java core 7源码

2007-07-20

core java 7 第2卷

core java 7 II

2007-07-19

core java 7

core java 7 I

2007-07-19

swing hack源码

swing hack源码

2007-07-19

swing hack

OReilly.Swing.Hacks.

2007-07-19

java Tutorial

Addison.Wesley.The.Java.Tutorial

2007-07-19

空空如也

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

TA关注的人

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