QRadioButton
QRadioButton
QRadioButton部件提供了一个带有文本标签的单选框(单选按钮)。
QRadioButton是一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选框通常呈现给用户一个“多选一”的选择。也就是说,在一组单选框中,一次只能选中一个单选框。
详细描述
单选框默认开启自动互斥(autoExclusive)。如果启用了自动互斥,属于同一个父部件的单选框的行为就和属于一个互斥按钮组的一样。如果你需要为属于同一父部件的单选框设置多个互斥按钮组,把它们加入QButtonGroup中。
每当一个按钮切换选中或未选中状态时,会发出的toggled()信号。如果希望每个按钮切换状态时触发一个动作,连接到这个信号。使用isChecked()来查看特定按钮是否被选中。
就像QPushButton一样,单选框可以显示文本,以及可选的小图标。图标使用setIcon()来设置,文本可以在构造函数或通过setText()来设置。可以指定快捷键,通过在文本中的特定字符前指定一个&。
————————————————
版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
原文链接:https://blog.csdn.net/liang19890820/article/details/52015023

QHBoxLayout *pLayout = new QHBoxLayout();
m_pButtonGroup = new QButtonGroup(this);
// 设置互斥
m_pButtonGroup->setExclusive(true);
for (int i = 0; i < 3; ++i)
{
QRadioButton *pButton = new QRadioButton(this);
// 设置文本
pButton->setText(QString::fromLocal8Bit("切换%1").arg(i + 1));
pLayout->addWidget(pButton);
m_pButtonGroup->addButton(pButton);
}
pLayout->setSpacing(10);
pLayout->setContentsMargins(10, 10, 10, 10);
setLayout(pLayout);
// 连接信号槽
connect(m_pButtonGroup, SIGNAL(buttonClicked(QAbstractButton*)), this, SLOT(onButtonClicked(QAbstractButton*)));pLayout->addWidget(pButton);
- 将每个
QRadioButton添加到QHBoxLayout布局管理器中,使其在界面上水平排列。
m_pButtonGroup->addButton(pButton);
将每个按钮添加到
QButtonGroup中,以便管理其互斥性。pLayout->setSpacing(10);设置按钮之间的间距为10个像素。
pLayout->setContentsMargins(10, 10, 10, 10);设置布局的边距,即按钮与窗口四边的距离都为10个像素。
setLayout(pLayout);将这个水平布局应用到当前的窗口或控件,使得
QHBoxLayout成为该窗口或控件的布局管理器。

