您的位置:首页 > 运维架构 > Linux

linux高级编程day14 笔记

2012-08-02 14:37 239 查看
回顾:
1.QT的编译
qmake使用
*.pro文件格式
2.QT的工具
帮助文档
配置工具
UI设计器
3.QT的类的使用

一.信号与槽
1.背景:
面向过程
模块之间低耦合设计(高内聚).
函数调用:
直接调用
回调调用
面向对象
模块之间低耦合设计(高内聚).
对象调用
直接调用
接口调用
QT:
信号与槽解决问题:
对象的成员变量的调用?
对象的成员函数的调用?
案例:
窗体,有一个文本框。
线程,每隔一秒改变文本框。
问题:
线程类访问窗体组件比较麻烦,需要传递。
在QT中,使用线程程序可能不工作。
2.使用信号与槽
最大的好处,不通过参数传递,直接调用对象。
以及在对象之间传递数据
2.1.头与实现必须分开。
2.2.必须继承QObject
2.3.被调用函数成为槽slot
2.4.调用函数成为信号
2.5.必须在类引入QObject中一个宏
2.6.实现与C++完全一样。

2.7.信号与槽的返回值必须是void
2.8.关联的信号与槽原型必须一致,名字可以不同

View Code

//main.pro
TEMPLATE=app
SOURCES=main.cpp    \
dlgjfq.cpp
HEADERS=frmjfg.h    \
dlgjfq.h
CONFIG=release qt
QT=core gui
TARGET=main


二.QT类的继承结构
QT的类
core
数据集合
QString

几何类
QPoint
QSize
QRectangle
系统类
QColor
QFont
QImage
QIcon
QCursor
QBitmap
...
gui
窗体类
|-框架窗体 QMainWindow(SDI/MDI)[菜单/工具条/状态条/带文档与视图]
|-对话框窗体QDialog[模式对话框/非模式]
组件
显示组件
输入组件
按钮
容器
菜单
布局组件
高级数据组件
表格/树型

三.窗体类的结构
QObject QPaintDevice
|------|-------|
QWidget
|
|--------------------|------------------|
QMainWindow QDialog 控件
QObject:
非静态
connect
disconnect
静态
connect
disconnect
tr
维护子对象的关系
定时器事件

信号:
destroy.

QPaintDevice(所有可视化控件都是绘制设备)
可视化组件高度height() width();
屏幕分辨率等相关信息
QWidget
常规属性
几何属性:
图标
光标
标题

基本事件(绘制/鼠标事件/键盘事件)
作业:
1.阅读随机数程序.
注意:线程封装
信号与槽
2.写汇率计算器

3.思考:
信号与槽的使用特色与优点.
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: