QT编程入门学习第一天的笔记&代码

来源:互联网 发布:单片机控制步进驱动器 编辑:程序博客网 时间:2024/04/28 04:35
QT编程入门一, Qt是图形用户界面(GUI)程序框架1. 基本C++语言对图形系统编程口进行封装   C++类库2. 专注与用户界面开始, 在后续发展中不断扩充:系统调用, 网络编程, 数据编程, 多媒体, 2D/3D图形渲染(OpenGL), 等等3. 跨平台的框架一次编码, 到处编译.Unix/Liunx/Windows/IOS/Android...4. 艺术级的图形开发工具很少的工作, 可以还来相对完善的工业级产品.二, Qt由来和发展1991, Haavard Nord, Eirik Chambe-Eng1994, Quasar Technologies->Troll Tech (奇趣科技)2005, Qt 4.02008, 奇趣科技被诺基亚收购, 更名Qt Software2009, 诺基亚Qt Software宣布Qt源代码对弓公众开放三, 为什么选择Qt1. 基于C++语言, 简单, 易用, 面向对象.2. 优良的跨平台特性.3. 架构健壮, 功能强大, 性能卓越.4. 基于Qt的图形界面开发效率高.5. 开源软件.四, 编程环境1. 工具/usr/bin目录下$ which amake1) assistant -- 帮助手册Public Types : 公有(成员)类型Properties : 属性(成员变量)属性类型 属性名 (void); // 获取特点属性void set属性名 (属性类型); // 获取特定属性Public Funtione: 公有(成员)函数, 包括构造和析构函数Signals: 信号(函数), 可触发的事件通知Public Slots: 公有槽(函数), 对特定事件的相应2) $ qmake -version : 察看版本信息   $ qmake -project : 根据当前目录中的文件自动生成工程文件   $ qmake : 根据工程文件生成构建脚本3)desugner ————设计器(设计大师)以所见即所得的方式, 设计用户界面, 生成界面描述文件.4) uic ————界面编译器 根据界面描述文件生成C++头文件5) qtcreator ————集成开发环境将界面设计, 源代码编写, 编译链接, 调试继承在一个环境中. 同时提供向导功能, 自动生成代码框架. 语言提示, 语法加亮, 自动完成等功能.2. 头文件/usr/include/qt4QtCore - 核心QtGui - 图形用户界面QtSql - 数据库QtNetWork - 网络编程QtXml - XML语言QtSvg - 2D矢量QtOpenGL - 3D矢量...注意: Qt的头文件一般不以.h 结尾, 每个单词的首字母大写.#include <QApplication>#include <QDialog>...头文件名和类名一致class QApplication { ... };class QDialog { ... };同时提供一套小写版本的头文件:#include <qapplicatione.h>#include <qdialog>兼容早期的Qt应用.g++ ... -I/usr/include/qt4/QtGui ...3. 库文件/usr/lib/i386-linux-gun/libQrCore.so/usr/lin/i386-linux-gun/libQtGui.so...g++ ... -lQtGui ... -L/usr/lib/i386-linux-gnu ...五, 第一个Qt程序1. 编写源代码: Hello.cpp2. 生成工程文件: qmake -project -> Hello.pro3. 生成构建脚本: qmake -> Makefile4. 执行构建脚本: make -> Hello (可执行程序)5. 允许可执行程序: Hello/Hello &注意: 在main() 函数之前必须调用QApplication::exec() 成员函数, 处理事件循环.六, Qt中的汉字问题1. 创建解码器, 可以把UTF-8编码的汉字转换为Qt内部编码.QTextCodec* codec = QTextCodec::codecForName ("utf-8"); // QT Text Code deconde 2. 将所创建的解码器设置到进程的语言翻译器中.QTextCodec::setCodecFotTr (codec);3. 将UTF-8编码的汉字翻译成Qt的内部编码QString str = QObject::tr ("汉字字符串", "utf-8");七, 按钮 ———— QPushButton八, 信号和槽每一个动作都会引发一个相应的信号(函数), 而槽(函数)负责对应该信号做出的相应.动作->调用信号函数->调用槽函数->响应||+----连接---+Bool QObject::connect (const QObject* sender, // 发送者————按钮const char* signal, // 信号__点击const QObject* recriver, // 接受者__标签const char* method // 槽————关闭);宏SIGANL() 将信号函数专程字符串.宏SLOT () 将槽函数专程字符串. 按钮中表示鼠标淡季的信号函数: void clicked (void);标签中表示关闭的槽函数: bool close (void);QObject::connect (&btn, SIGNAL (clicked (void)), &lab, SLOT (close (void)));作业: 在Close程序的基础上增加一个"推出"按钮,点击该按钮, 终止应用程序

0 0
原创粉丝点击