QPushButton & QToolButton & QCheckBox & QRadioButton

        QCheckBox : 可供选取或不选取+显示文字

状态改变时,发出信号:stateChanged()。另外,可以通过isChecked()获取是否选中状态。多个QCheckBox可以和QButtonGroup组合使用,实现多项单选功能。

此外,还可以通过setTristate()设置是否开启三态(不选取,半选取,选取)。


        QPushButton :按钮

可以显示文本+图标,有点击效果,还可以设置类似QLabel功能,如:

QPushButton *button = new QPushButton("&Download", this);

可以通过快捷组合键Alt+D选中按钮。

点击可以触发事件clicked() , pressed() , released()

可以设置菜单,有弹出菜单效果


       QRadioButton : 单选

多个QRadioButton同个父对象时,各个QRadioButton互斥,选择其他一个,之前选择的变成未选择。


       QToolButton : 常和QToolBar连用,起到快捷访问功能

QToolBar通过添加QAction可自动生成QToolButton

其他功能和QPushButton功能差不多,可以设置菜单,图标等等。



### Qt UI 控件功能与用法 #### QCheckBox `QCheckBox` 是一种复选框控件,允许用户通过勾选或取消勾选来选择某个选项。它通常用于表示布尔类型的设置或状态。可以通过 `setChecked()` 方法设置其初始状态,并连接到信号槽机制以响应用户的交互。 以下是创建并使用 `QCheckBox` 的示例代码: ```cpp QCheckBox *checkBox = new QCheckBox("启用此功能"); if (someCondition) { checkBox->setChecked(true); // 设置默认为已勾选 } connect(checkBox, &QCheckBox::stateChanged, [](int state){ if (state == Qt::Checked) { qDebug() << "Checkbox is checked"; } else { qDebug() << "Checkbox is unchecked"; } }); ``` #### QComboBox `QComboBox` 提供了一个下拉列表,使用户可以从多个预定义的选项中进行选择。它可以显示文本项或者自定义的小部件。支持动态添加、删除以及修改项目的内容。 创建和初始化一个简单的 `QComboBox` 如下所示[^1]: ```cpp QComboBox *comboBox = new QComboBox(); comboBox->addItem("选项A"); comboBox->addItem("选项B"); comboBox->addItem("选项C"); // 连接当前索引改变时触发的信号 connect(comboBox, static_cast<void(QComboBox::*)(int)>(&QComboBox::currentIndexChanged), [](int index){ qDebug() << "Selected item at index:" << index; }); ``` #### QPushButton `QPushButton` 是用来执行特定操作的标准按钮组件。当按下该按钮后会发射 clicked 信号,开发者可以绑定相应的处理逻辑至这个事件上。 下面展示如何实例化一个带有图标的按钮及其基本行为配置方法: ```cpp QPushButton *button = new QPushButton("点击我", nullptr); button->setIcon(QIcon(":/images/icon.png")); // 添加图标资源路径前缀需先注册 QObject::connect(button, &QPushButton::clicked, [](){ QMessageBox::information(nullptr,"提示","您按下了按钮"); }); ``` 另外,在美化方面还可以利用样式表来自定义外观属性[^2],比如调整背景颜色字体大小等等。 关于布局管理器部分提到如果希望实现多组互斥的选择关系,则只需把若干个单选钮放置于同一容器内即可完成分组效果而无需额外声明对象如QButtonGroup之类[^3].
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值