Men的博客

欢迎光临!

0%

QT常用控件

按钮

QAbstractButton: 提供普通按钮的抽象类
QPushButton 按钮
QToolButton 工具按钮
QRadioButton 单选按钮
QCheckBox 复选按钮
QButtonGroup: 按钮控件的组合容器(Container)
QGroupBox: 带有标题的相同类型的组框(GroupBox Frame)
QCommandLinkButton 命令链接按钮
QButtonBox 组合按钮
QComboBox : 单击按钮,可在弹出的选项中选择一个

文本

QLable: 显示文字或图片,不提供用户交互
QLineEdit 行编辑框类
QTextEdit: 支持修改和显示rich text
QSpinBox 旨在处理整数和离散值输入(例如:月份名称),
QDoubleSpinBox 则用于处理浮点值输入
QSimpleRichText: 用于显示由stylesheet定制的rich text,一但构造完成,不能被修

QTextBrowser: 支持显示rich text,适合有超文本接连的场合,不能被修改。
QAbstractSpinBox: 在旋转框和行编辑中显示值的抽象类
QPlainTextEdit
QScrollArea

数字日期

QDateTimeEdit 日期时间编辑框类
QLCDNumber 数字显示框类
QTimeEdit: 编辑或显示时间的控件
QDateEdit: 编辑或显示日期的控件
QDateTimeEdit: 编辑或者显示时间和日期的控件
QDial: 用于描述仪表盘样式
QSpinBoxnBox: 整数旋转框(spinBox)样式
QDoubleSpinBox: 可以使用double类型的旋转框
QCalenDar: 以日历的形式显示用户选择的日期(以月为单位)的控件

滑动滚动

QProgressBar 进度条类
QSlider 滑动条类
QAbstractScrollArea: 在滚动条中提供必要的功能的抽象类
QAbstractSlider: 使用给定范围内的整数值的抽象类
QScrollArea: 可以扩展查看其它控件的滚动条控件
QScrollBar: 水平和垂直滚动条控件
QSlider: 水平和垂直滑块
QDial

图片

QImage 图像类
QPixmap 图片资源
QIconView 图标视图类

弹框

QDialog 弹框
QMessageBox 消息对话框类 (information、warning、question、about)
QDockWidget 停靠窗口
QInputDialog 标准输入框
QFileDialog 文件对话框类
QColorDialog 颜色对话框类
QFontDialog 字体对话框类
QPrintDialog 打印对话框类 
QPalate  调色板
QToolTip 提示类
QPopupMenu 弹出性菜单类
QFontComboBox: 可使用选择字体的下拉框控件
QProgressDialog 进度条对话框类
QWizard 向导对话框类
QWhatsThis 回答”What’s This?”这个问题

主窗口

QApplication 应用程序类 
QFrame
QMainWindow 主窗口类
QMenuBar 菜单栏类
QAction 动作类
QMenu: 可以在菜单栏的菜单控件、Context和弹出菜单中使用的控件
QToolBox: 成列的QToolButton控件
QTabBar: TabBar控件(在标签对话框中使用)

列表

QListView: 列表形态的视图控件
QTableView: 基于模型/视图的表格视图控件
QListBox 列表框类
QTable 表格类
QTabWidget: 表格控件
QColumnView: 基于模型/视图的列视图控件
QDataWidgetMapper: 连接控件和模型的映射

显示大小

QSizeGrip: 可以改变上层视图大小
QSplitter: 具有分割功能的控件
QStatckedWidget: 可以在屏幕上同时显示多个控件
QSplitterHandle: 可以控制分割功能的控件

QSplitter *splitter= new QSplitter;
splitter->addWidget(t_widget);
splitter->addWidget(p_widget);
splitter->setStretchFactor(1,3);
splitter->show();

QEvent

bool myWidget::event(QEvent *e) 事件分发
virtual bool QObject::eventFilter ( QObject * watched, QEvent * event ); 事件过滤
void mousePressEvent(QMouseEvent *event); // 单击 event->button()==Qt::LeftButton 左键,Qt::RightButton右键
void mouseReleaseEvent(QMouseEvent *event); // 释放
void mouseDoubleClickEvent(QMouseEvent *event); // 双击
void mouseMoveEvent(QMouseEvent *event); // 移动
void wheelEvent(QWheelEvent *event); // 滑轮
void Widget::keyPressEvent(QKeyEvent *event) // 键盘按下 event->modifiers() 特殊键位,event->key() 普通键位
void Widget::keyReleaseEvent(QKeyEvent *event) // 键盘释放
focusInEvent(QFocusEvent *e)
focusOutEvent(QFocusEvent *e)
changeEvent(QEvent *e)
paintEvent(QPaintEvent *e) = 0
timerEvent(QTimerEvent *e)
常见事件有绘图事件(paintEvent),定时器事件(timerEvent),进入事件(enterEvent),离开事件(leaveEvent),鼠标事件(QMouseEvent),键盘事件(QKeyEvent),焦点事件(QFocusEvent),关闭事件(closeEvent)等等

信号

connect(sender, SIGNAL(signal), receiver, SLOT(slot)); // 建立连接
disconnect(sender, SIGNAL(signal), receiver, SLOT(slot)); // 取消连接

按钮信号类型

clicked(bool checked = false)
pressed()
released()
toggled(bool checked)

自动信号槽

用户自己定义信号和槽:需要自己触发信号  

集合

QList 用于添加、插入、替换、移动、删除数据项的函数有:insert()、replace()、removeAt()、move()、swap()、append()、prepend()、removeFirst() 和 removeLast() 等。
是提供类似于堆栈的后入先出(LIFO)操作的容器类,push() 和 pop() 是主要的接口函数
QLinkedList
是链式列表,数据项不是用连续的内存存储的,它基于迭代器访问数据项,并且插入和删除数据项的操作时间相同
QVector
提供动态数组的功能,以下标索引访问数据
QStack
是提供类似于堆栈的后入先出(LIFO)操作的容器类,push() 和 pop() 是主要的接口函数
QQueue
是提供类似于队列先入先出(FIFO)操作的容器类。enqueue() 和 dequeue() 是主要操作函数
QSet
是基于散列表的集合模板类,它存储数据的顺序是不定的,查找值的速度非常快
QMap
提供一个字典(关联数组),一个键映射到一个值。QMap 存储数据是按照键的顺序
QHash
同QMap不在乎存储顺序,使用 QHash 会更快。
QMultiMap、QMultiHash
是 QMap 的子类,是用于处理多值映射的便利类。