界面布局
- 界面布局的美化:拖拽widget,进行布局:水平布局、垂直布局、栅格布局;以及打破布局等。
- 默认窗口和控件之间有9像素间隙,可以调整layoutLeftMargin 等属性
- 若要使得widget大小和控件大小一样大,可以调整widget的sizePolicy 其中的垂直策略等等
- 使用弹簧 以及弹簧属性调整控件位置
- 密码的输入模式:可更改echoMode
控件
- Push Button :将资源文件添加后,可以在icon属性中添加图标
- Tool Button:常用于显示图片; 在icon属性中添加;设置text后要使Button显示需要更改QToolButton中的toolButtonStyle;透明/凸起效果:autoRaise
- Radio Button:单选框;可以选择Group Box进行选项分组;要实现初始有默认值一般使用代码来实现
- Check Box:多选按钮;同样可以放入Group Box中;同样可以设置选项的信号和槽机制,触发打印
- Item Views (Model-Based):基于数据库模型
- Item Widget (Item-Based):基于项目
- List Widget:列表
- Tree Widget:树控件
- Table Widget 表格控件
- 其他常用控件
- Scroll Area 滚动控件
- Tool Box 多个页面 QQ
- Tab Widget 网页
- Stacked Widget 可对各个控件进行切换
- Frame:边框
- Widget:常用来布局
- Dock Widget:浮动窗口
- Combo Box:下拉框
- Font Combo Box:字体下拉框
- Line Edit:单行输入框;其中的echoMode可以修改其输入模式
- Text Edit:多行输入;支持字体颜色,倾斜,加粗
- Plain Text Edit:文本
- Spin Box:数字上下选择
- Double Spin Box:双精度数字上下选择
- Time、Data Edit:时间、日期编辑
- Horizontal、Vertical Scroll Bar:水平、垂直滚动条;
- Slider:滑动条 可以配合Spin Box使用,自定义封装
- Label:显示文字;图片:添加资源文件后,利用 setPixmap(QPixmap());
- Label:还可以显示动图gif:setMovie(QMovie()); 还需要播放动图start();
- Progess Bar:进度条
自定义控件封装
- 实现SpinBox域Slider的联动:
- 添加一个ui新文件:添加->Qt->设计师界面类(.h,.cpp,.ui)
- 在.ui中设计QSpinBox和QSlider两个控件
- 要在Widget中使用该控件:拖拽Widget控件,右键-提升为,提升的类名要与之前新建的类名一致,然后点击添加,再点击提升;若提升成功,widget.ui中对象的类名会变成提升后的类名
- 运行之后在Widget界面有了封装好的控件
- 实现联动功能:在添加的类的ui文件中设置信号和槽
- 提供getNum和setNum的对外的接口,直接在widget.cpp中调用
- 在smallwidget.h和smallwidget.cpp中提供对外接口
- 了解大概的机制后,可以充分利用帮助文档来协助代码编写,当在一个类中找不到某一方法时,可以到其父类中去找。