这些表格中的内容都是控件的属性,前面加set就是设置对应属性的函数
QPushButton
继承自QAbstractButton抽象类
属性 | 说明 |
---|---|
text | 按钮的文本 |
icon | 按钮图标 |
iconSize | 按钮中图标的尺寸 |
shortCut | 按钮对应的快捷键 |
autoRepeat | 按钮是否连续触发 |
autoRepeatDelay | 按住按钮多长时间后开始重复触发 |
autoRepeaInterval | 重复触发的周期 |
添加快捷键
- 函数
setShortcut(const QKeySequence& S)
Sequence是序列的意思,因为快捷键有可能是组合键- 构造QKeySequence对象的两种方式
通过名字构造QKeySequence(“w”)
通过枚举构造QKeySequence(Qt::Key_w)
QKeySequence(Qt::Key_w + Qt::Key_s)//ws同时按
QRadioButtom
单选按钮,可以在多个选项中选择一个
属性 | 说明 |
---|---|
chekable | 当前按钮是否能被选中,不选中但是会响应点击事件 |
checked | 是否已经被选择 |
autoExlusive | 默认排他,多个按钮选中一个还是多个 |
QButtonGrop,该类用来创建Radio的组
QCheckBox
复选按钮,可以选中多个
QLabel
显示文本和图片
属性 | 说明 |
---|---|
text | 获取文本 |
textFormat | 文本格式 |
pixmap | 设置QLabel中包含的图片 |
scaledContent | 设置内容可以自动填充满整个QLabel |
buddy | 给QLabel关联伙伴,点击Label激活对应的控件 |
wordWrap | 自动换行 |
枚举变量 | 含义 |
---|---|
Qt::PlainText 纯文本 | 不支持标签改变文本在屏幕上的表现形式,双引号内有什么都会完全打印出来 |
Qt::RichText 富文本(支持html) | 通过给字符串首尾加标签改变文本在屏幕上的表现形式 |
Qt::MarkdownText | 和富文本一样,只不过标签的语法不同 |
Qt::AutoText | 根据文本内容自动决定文本格式 |
函数
- setTextFormat(填上面的枚举)
设置文本格式- setText(“文本内容”)
设置文本内容
窗口大小不断变化时,如何设置QLabel自动填充满整个窗口
- 当用户拖拽改变窗口大小时,会触发resize事件(resizeEvent),窗口在拖动过程中尺寸是一直变化的,会触发一系列的resizeEvent,我们就可以借助该事件完成
- 需要重写窗口的resizeEvent虚函数
QProgressBar 进度条
minimum | 进度条最小值 |
maximum | 进度条最大值 |
value | 进度条当前的值 |
alignment | 文本在进度条中对齐的方式 |
textVisible | 文本是否可见 |
orientation | 进度条方向是垂直还是水平 |
布局管理器
垂直布局
水平布局
网格布局
表单布局(列固定,行不限)
属性 | 说明 |
---|---|
layoutLeftMargin | 左侧边距 |
layoutRightMargin | 右侧边距 |
layoutTopMargin | 上方边距 |
layoutBottonMargin | 下方边距 |
layoutSpacing | 相邻元素之间的间距 |
QVBoxLayout垂直布局
V是vertical的缩写
QPushButton* b1=new QPushButton("按钮1");
QPushButton* b2=new QPushButton("按钮2");
QVBoxLayout layout=new QVBoxLayout();//创建布局管理器
layout->addWidget(b1);//将按钮添加到布局管理器中
layout->addWidget(b2);
//把布局管理器添加到窗口中
this->setLayout(layout)
按钮的父元素是layout
layout的父元素是窗口this
每个widget中只能设置一个布局管理器
在widget上搞出多个布局管理器
在代码中创建的layout,只创建了一个layout,而UI界面中,是先创建一个widget再创建一个layout
QHBoxLayout 水平布局
horizontal的缩写