QT编程基础的一些介绍

1  什么是QT
         基于C++语言的框架
         一个专注于图形用户界面的框架
         一个跨平台的框架
         一个艺术级别的开发的工具
         
2  历史
        05年  qt4.0
        08年  被nokia收购
        09年  开源
        
        qt-project.org
        下载相关的开发资源
        
3  QT的编程环境
        3.1 开发工具
                assistant   qt的帮助文档
                designer    设计器
                                                                可见即所得的界面编辑器
                                                                界面文件   ***.ui
                qmake -version  得到qt的版本
                qmake -project  可以把项目源文件组织成项目描述文件  *.pro
                qmake   根据项目描述文件 得到Makefile
                                                文件依赖关系
                make    根据Makefile得到目标
                
                uic  界面转换工具                可以把ui文件转换成.h文件
                
                qtcreator 集成开发工具
                
        3.2 qt的头文件
                一个类对应一个头文件
                qt的头文件按照功能划分了模块
                Qtcore  QtGui 核心
                        QtNetWork  QtXml  QtSql  QtOpenGL
                        
                不带.h  类型和头文件名字保持一致
                
        3.3 qt的库文件
                库文件是对头文件的分模块实现
                /usr/lib/i386-linux-gnu
                
                
4  第一个qt程序
        一个工程要求有一个对应的目录
        1. 编写源代码
                vi ***.cpp
        2. 组织项目源代码  生成项目描述文件  .pro
                qmake -project  
        3. 根据pro生成Makefile
                qmake
        4. 根据Makefile 生成目标
                make
        

5  文档可以提供的内容
        5.1 一个类继承哪个类 和 被哪个类继承
        
        5.2 这个类用到的其他类型
        
        5.3 类的成员变量  Properties
                        继承来的成员变量
        
        5.4 公开的函数
                构造函数 析构函数 成员函数
                继承来的成员函数(虚函数 函数重写)
        
        5.5 信号 和 槽 函数
                public slots:  槽函数
                        void test();

                public:signals: 信号函数
                        void mysig();
                /* 信号函数编译器会自动实现 不需要人为实现 */
                
        5.6 事件处理函数
        
        5.7 静态函数
                可以不用过对象 就能直接调用
        
        5.8 类的详细说明(用的很少)
        

6  中文的显示
                QTextCodec
                创建 一个QTextCodec 类型的对象
                codeForName(const char* name);
                utf-8  gbk  gb2312
                        QTextCodec *coder = QTextCodec::codecForName("uft-8");
                使用文本编码对象的成员函数 把数据转换成unicode编码
                        toUnicode(const char* msg);
                        
                        
7  Qt中的信号和槽
        如何关联两个毫不相干的对象
        QObject中的一个静态函数 可以完成
        QObject::connect(
                        const Qobject* sender,
                        const char* signal,
                        const QObject* receiver
                        const char* method);
                        
        sender   信号的发送者指针
        signal   信号函数  QT中封装了一个宏 SIGNAL(函数名())
        receiver 信号的接收者的地址
        method   信号处理函数 一般是槽函数  将函数地址转换为const char*  SLOT(函数名())
        
        
        QPushButton  找一个信号函数代表点击行为
                        void clicked();
        QLabel       找一个槽函数代表关闭行为
                        bool close();
                        去信号接收者的内容中寻找槽函数
                        
                        
8  组织界面的组建
        8.1 父窗口  父窗口指针
                如果一个组件没有父窗口 则这个组件就是一个独立的组件
                如果一个组件指定了父窗口指针 则这个组件就停靠在父窗口上
                 
        父窗口指针的类型 要么是QWidget类型  或者是这个类型的子类型
                 子类型  :   QMainWindow  QDialog
        
        改变组件的大小
                resize(x,y); 默认的1024 × 768
        移动组件的位置
                move(x,y);
                

9  带参的信号 和 槽
        QSlider  滑块类
                        代表滑动的信号函数
                        void valueChangerd(int val);
        QSpinBox 微调框
                        代表赋值的槽函数
                                void setValue(int val);
        QWidget  父窗口类型
        
        连接带参的信号和槽是 连接函数中的宏中只能出现函数名和
                参数的类型不能出现参数的名字
        

        QObject::connect(qsli,SIGNAL(valueChanged(int)),qspin,SLOT(setValue(int)));
        
        
        QDialog  父窗口
        QLineEdit
        QPushButton
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值