《快速学习QT》
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
return app.exec(); }
界面设计师:布局窗口元素
界面设计师:编辑信号槽
界面设计师:TAB键顺序
界面设计师:应用UI文件
#include <QtGui> #include "ui_helpbrowser.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); Ui::HelpBrowser ui; QWidget *window = new QWidget; ui.setupUi(window); ui.textBrowser->setSource(QString("html/index.html")); window->show();
return app.exec();
}
界面设计师:运行
QT核心技术:信号槽
QT学习资源
• • • • • Qt帮助文档[最权威]:http://doc.trolltech.com/ Trolltech Labs[最新技术]: http://labs.trolltech.com/ 《C++ Gui Qt4 编程》官方教材,电子工业出版社 Qt中文论坛:http://www.qtcn.org/ 云帆论坛[Qt版]:http://www.myswear.net/forum/
HELLO QT(2): 用HTML格式化
#include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("<h2><i>Hello</i> " "<font color=red>Qt!</font></h2>"); label->show(); return app.exec(); }
QT编程简介
基于QT开发的软件(1):
KDE-01
基于QT开发的软件(1):
KDE-02
基于QT开发的软件(2): GOOGLE地球
基于QT的软件(3): MAYA
基于QT的软件(4): 更多……
• • • • • • Opera浏览器 Skype网络电话 QCad Adobe Photoshop Album CGAL计算几何库 ……
实际应用——LASVIEW
界面设计师
界面设计师: AGE
#include <QtGui> #include "ui_age.h"
int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; Ui::Age ui; ui.setupUi(window); window->show();
return app.exec();
}
基本布局(1)
int main(int argc, char *argv[]) { QApplication app(argc, argv); QSpinBox *spinBox = new QSpinBox; QSlider *slider = new QSlider(Qt::Horizontal);
QT类库架构
HELLO QT(1)
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); }
3. 丰富的 API
Qt 包括多达 500 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。
4. 大量的开发文档 5. Network/XML/OpenGL/Database/webkit/...
基本布局(2)
QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinBox); layout->addWidget(slider); QWidget *window = new QWidget; window->setWindowTitle("Enter Your Age"); window->setLayout(layout); window->show(); return app.exec(); }
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
QT优点
1. 优良的跨平台特性
Qt支持下列操作系统: Windows,Linux, Solaris, SunOS, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
2. 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来 说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
QT历史
• 1996 Sep 24 Qt1.0 • 1996 Oct KDE 组织成立 • 1998 Apr 05 Trolltech 的程序员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上 • 1998 Apr 08 KDE Free Qt 基金会成立 • 1998 Jul 12 KDE 1.0 发布 • 1999 Jun 25 Qt 2.0 发布 • 2000 Maቤተ መጻሕፍቲ ባይዱ 20 嵌入式 Qt 发布 • 2000 Sep 06 Qt 2.2 发布 • 2000 Sep 04 Qt free edition 开始使用 GPL • 2004 Aug 4.0 • 2008 Aug 4.4发布, 集成Webkit和Phonon
创建链接
int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); button->show();
界面设计师:布局窗口元素
界面设计师:编辑信号槽
界面设计师:TAB键顺序
界面设计师:应用UI文件
#include <QtGui> #include "ui_helpbrowser.h" int main(int argc, char *argv[]) { QApplication app(argc, argv); Ui::HelpBrowser ui; QWidget *window = new QWidget; ui.setupUi(window); ui.textBrowser->setSource(QString("html/index.html")); window->show();
return app.exec();
}
界面设计师:运行
QT核心技术:信号槽
QT学习资源
• • • • • Qt帮助文档[最权威]:http://doc.trolltech.com/ Trolltech Labs[最新技术]: http://labs.trolltech.com/ 《C++ Gui Qt4 编程》官方教材,电子工业出版社 Qt中文论坛:http://www.qtcn.org/ 云帆论坛[Qt版]:http://www.myswear.net/forum/
HELLO QT(2): 用HTML格式化
#include <QtGui> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("<h2><i>Hello</i> " "<font color=red>Qt!</font></h2>"); label->show(); return app.exec(); }
QT编程简介
基于QT开发的软件(1):
KDE-01
基于QT开发的软件(1):
KDE-02
基于QT开发的软件(2): GOOGLE地球
基于QT的软件(3): MAYA
基于QT的软件(4): 更多……
• • • • • • Opera浏览器 Skype网络电话 QCad Adobe Photoshop Album CGAL计算几何库 ……
实际应用——LASVIEW
界面设计师
界面设计师: AGE
#include <QtGui> #include "ui_age.h"
int main(int argc, char *argv[]) { QApplication app(argc, argv); QWidget *window = new QWidget; Ui::Age ui; ui.setupUi(window); window->show();
return app.exec();
}
基本布局(1)
int main(int argc, char *argv[]) { QApplication app(argc, argv); QSpinBox *spinBox = new QSpinBox; QSlider *slider = new QSlider(Qt::Horizontal);
QT类库架构
HELLO QT(1)
#include <QApplication> #include <QLabel> int main(int argc, char *argv[]) { QApplication app(argc, argv); QLabel *label = new QLabel("Hello Qt!"); label->show(); return app.exec(); }
3. 丰富的 API
Qt 包括多达 500 个以上的 C++ 类,还替供基于模板的 collections, serialization, file, I/O device, directory management, date/time 类。甚至还包括正则表达式的处理功能。
4. 大量的开发文档 5. Network/XML/OpenGL/Database/webkit/...
基本布局(2)
QHBoxLayout *layout = new QHBoxLayout; layout->addWidget(spinBox); layout->addWidget(slider); QWidget *window = new QWidget; window->setWindowTitle("Enter Your Age"); window->setLayout(layout); window->show(); return app.exec(); }
QObject::connect(spinBox, SIGNAL(valueChanged(int)), slider, SLOT(setValue(int))); QObject::connect(slider, SIGNAL(valueChanged(int)), spinBox, SLOT(setValue(int)));
QT优点
1. 优良的跨平台特性
Qt支持下列操作系统: Windows,Linux, Solaris, SunOS, FreeBSD, BSD/OS, SCO, AIX, OS390,QNX 等等。
2. 面向对象
Qt 的良好封装机制使得 Qt 的模块化程度非常高,可重用性较好,对于用户开发来 说是非常 方便的。 Qt 提供了一种称为 signals/slots 的安全类型来替代 callback,这使得各个元件 之间的协同工作变得十分简单。
QT历史
• 1996 Sep 24 Qt1.0 • 1996 Oct KDE 组织成立 • 1998 Apr 05 Trolltech 的程序员在 5 天之内将 Netscape5.0 从 Motif 移植到 Qt 上 • 1998 Apr 08 KDE Free Qt 基金会成立 • 1998 Jul 12 KDE 1.0 发布 • 1999 Jun 25 Qt 2.0 发布 • 2000 Maቤተ መጻሕፍቲ ባይዱ 20 嵌入式 Qt 发布 • 2000 Sep 06 Qt 2.2 发布 • 2000 Sep 04 Qt free edition 开始使用 GPL • 2004 Aug 4.0 • 2008 Aug 4.4发布, 集成Webkit和Phonon
创建链接
int main(int argc, char *argv[]) { QApplication app(argc, argv); QPushButton *button = new QPushButton("Quit"); QObject::connect(button, SIGNAL(clicked()), &app, SLOT(quit())); button->show();