其他按钮持续更新
一、按钮类型
(1) QPushButton:下压按钮
(2) QToolButton:工具按钮
(3) QRadioButton:选择按钮
(4) QCheckBox:检查框
(5) QCommandLinkButton:命令链接按钮
(6) QDialogButtonBox:对话框按钮
- QPushButton 通常用于执行命令或触发事件。
- QToolButton 是一种用于命令或者选项的可以快速访问的按钮。
- QRadioButton 单选按钮(单选框)通常成组出现,用于提供两个或多个互斥选项。
- QCheckBox 复选按钮(复选框)与 RadioButton 的区别是选择模式,单选按钮提供多选一,复选按钮提供多选多。
- QCommandLinkButton 控件和 RadioButton 相似,都是用于在互斥选项中选择一项。表面上同平面按钮一样,但是 CommandLinkButton 除带有正常的按钮上的文字描述文本外,默认情况下,它也将携带一个箭头图标,表明按下按钮将打开另一个窗口或页面。
- QDialogButtonBox 按 钮 盒 子( 按 钮 框 ), 是由 QDialogButtonBox 类包装成的。常用于对话框里自定义按钮,比如“确定”和“取消”按钮。
二、QPushButton
1. 查看文档
可以看出,它的继承关系。
2. 示例分析
例子:窗口换肤,通过单击不同的按钮,改变窗口颜色。
- 按钮的数量
- 按钮的位置
- 按钮的文本
- 信号和槽
按钮的数量
按钮数量决定了要实例的数量,且每个实例对象的功能不一样。
这里就只打算实例2个按钮对象。
按钮的位置
QPushButton 是有父类方法中的 setGeometry 的。通过该方法进行设置按钮的位置。
按钮的文本
我们想要在两个按钮上设置显示文本为:窗口皮肤1和窗口皮肤2。
查看 QPushButton的构造函数。
两参数的是我们需要的。
使用 this 将新创建的控件的父对象设置为当前对象是一种符合Qt设计理念的做法,它有助于简化内存管理、事件传递、界面布局以及对象树结构的维护。
那么实例化,应该为:
pushButton = new QPushButton("窗口皮肤", this);
信号和槽
我们是要单击 Button 来实现换肤功能。则选用的信号是 clicked()。
然后在 MainWindow 类中 增加成员函数槽函数 pushButton_Clicked() ,然后在槽函数中实现样式的设置,比如设置背景颜色。
最后再使用信号和槽的连接。
connect(pushButton, SIGNAL(clicked()), this, SLOT(pushButton_Clicked()));
pushButton 是发出信号的按钮对象。
this 是接收信号的对象的指针,在这里是当前窗口或对话框的指针。
3. 代码实现
在头文件“mainwindow.h”具体代码如下:
#ifndef MAINWINDOW_H
#