描述
常用函数介绍
构造函数:
QRadioButton(QWidget* parent = nullptr)
默认构造函数,创建一个没有父部件的单选按钮。
QRadioButton(const QString& text, QWidget* parent = nullptr)
使用指定的文本创建一个没有父部件的单选按钮。
QRadioButton(const QIcon& icon, const QString& text, QWidget* parent = nullptr)
使用指定的图标和文本创建一个没有父部件的单选按钮。
常用函数
void setText(const QString& text)
设置单选按钮显示的文本。
void setChecked(bool checked)
设置单选按钮的选中状态,true为选中,false为未选中。
bool isChecked() const
返回单选按钮的选中状态,如果选中则返回true,否则返回false。
void setIcon(const QIcon& icon)
设置单选按钮显示的图标。
void setShortcut(const QKeySequence& shortcut)
设置单选按钮的快捷键。
信号和槽
void toggled(bool checked)
当单选按钮选中状态发生改变时发出的信号,参数checked表示当前的选中状态。
void clicked(bool checked = false)
当单选按钮被点击时发出的信号,参数checked表示当前的选中状态。
void pressed()
当单选按钮被按下时发出的信号。
void released()
当单选按钮被释放时发出的信号。
void toggled(bool checked)
当单选按钮的选中状态发生改变时发出的信号,参数checked表示当前的选中状态。
示例
#include <QApplication>
#include <QWidget>
#include <QHBoxLayout>
#include <QRadioButton>
#include <QButtonGroup>
int main(int argc, char *argv[])
{
QApplication app(argc, argv);
// 创建主窗口
QWidget window;
window.setWindowTitle("RadioButton 示例");
// 创建水平布局
QHBoxLayout* layout = new QHBoxLayout(&window);
// 创建按钮组
QButtonGroup* buttonGroup = new QButtonGroup(&window);
// 创建三个单选按钮
QRadioButton* radioBtn1 = new QRadioButton("选项1");
QRadioButton* radioBtn2 = new QRadioButton("选项2");
QRadioButton* radioBtn3 = new QRadioButton("选项3");
// 默认设置第一个单选按钮选中
radioBtn1->setChecked(true);
// 将单选按钮添加到按钮组中
buttonGroup->addButton(radioBtn1);
buttonGroup->addButton(radioBtn2);
buttonGroup->addButton(radioBtn3);
// 将按钮组的 exclusive 属性设置为 true,确保只能选中一个选项
buttonGroup->setExclusive(true);
// 将单选按钮添加到布局中
layout->addWidget(radioBtn1);
layout->addWidget(radioBtn2);
layout->addWidget(radioBtn3);
// 设置主窗口的布局
window.setLayout(layout);
// 显示主窗口
window.show();
return app.exec();
}
效果
radioBtn
上述示例代码创建了一个窗口,并使用QVBoxLayout作为布局管理器。
创建了三个QRadioButton单选按钮,并将它们添加到QButtonGroup按钮组中,确保只能选中一个选项。
最后,将单选按钮添加到布局中,并显示主窗口。