1 概述
QPushButton是QT中自带的按钮控件
使用需要添加头文件
#include <QPushButton>
QPushButton从QAbstractButton集成过来,其他同级按钮结构示意如下:
2 QPushButton
构造函数原型 | 使用说明 |
---|---|
QPushButton::QPushButton(QWidget *parent = nullptr) | QPushButton *btn = new QPushButton |
QPushButton::QPushButton(const QString &text, QWidget *parent = nullptr) | QPushButton *btn = new QPushButton(“文本”) |
QPushButton::QPushButton(const QIcon &icon, const QString &text, QWidget *parent = nullptr) | icon参数添加图标 |
QT下载的时候对应的编译器中提供assistant.exe 供查阅,所以实际开发中,这些相关的方法和类并不需要自己去记忆.
QT\5.14.2\mingw73_64\bin
我们使用按钮的场景大多是点击来触发槽函数.
需要一个信号发送者,发送的信号,以及信号接收者,接受的信息.
形式如下,没有接受的信息可以做匿名函数来处理。
connect(btn,&QPushButton::clicked, [=](){
//写个槽函数
std::cout << "demo";
}
);
QPushButton中有成员函数setMenu可以对改按钮设置菜单下拉框
m_btn = new QPushButton(this);
m_menu = new QMenu;
m_menu->addMenu("菜单1");
m_menu->addMenu("菜单2");
m_menu->addMenu("菜单3");
m_btn->setMenu(m_menu);
呈现现象如下,点击按钮可以看到下拉框
3 QRadioButton
单选按钮构造
QRadioButton *m_btn = new QRadioButton("QRadioButton",this);
4 QCheckBox
//构造函数
QCheckBox *m_checkbox = new QCheckBox("C&ase sensitive", this);
//通过此方法来确定当前的勾选状态,总共有三种状态可供选择
m_checkbox->setCheckState(Qt::Checked);
//m_checkbox->setCheckState(Qt::Checked);
// enum CheckState {
// Unchecked,
// PartiallyChecked,
// Checked
// };
5 QToolButton
工具按钮通常不用显示文本只要显示相关的图标即可,构造和使用方法如下:
QToolButton *m_toolButton = new QToolButton(this);
m_toolButton->setArrowType(Qt::LeftArrow);
//设置按钮自动凸起
m_toolButton->setAutoRaise(true);