目录
1、QPushButton
普通按钮,可以提供文字,图标都在按钮上。可以设置一定的界面风格。
ui->pushButton->setCursor(QCursor(Qt::PointingHandCursor)); //设置光标,手型图标。鼠标在控件上显示。
checkable 属性 :
只有setCheckable(true),这个button才能发射 toggle(bool) 信号。
而toggle(bool)代表了button 按下,弹起的状态像0,1的切换开关。
setCheckable(true)为属性,表示可以选中 setChecked(true)为属性的值,表示已经选中
2、QToolButton
QToolButton类提供了一个快速访问命令或选项的按钮,通常在QToolBar中使用。工具按钮是一种特殊的按钮,提供对特定命令或选项的快速访问。与普通的命令按钮不同,工具按钮通常不显示文字,而是显示一个图标。
此按钮功能比QPushButton多。
3、QCheckBox
复选框
复选框被选中或者清除,都会发射一个stateChanged()信号。
使用isChecked()来查看特定按钮是否被选中。
使用setTristate()函数开启三种状态模式。包括:选中(Qt::Checked)、半选(Qt::PartiallyChecked)、未选中(Qt::Unchecked)。
// 开启三态模式 pCheckBox->setTristate(); // 连接信号槽 connect(pCheckBox, SIGNAL(stateChanged(int)), this, SLOT(onStateChanged(int)));
槽函数:
void MainWindow::onStateChanged(int state) { if (state == Qt::Checked) // "选中" { qDebug()<<"Checked"; } else if(state == Qt::PartiallyChecked) // "半选" { qDebug()<<"PartiallyChecked"; } else // 未选中 - Qt::Unchecked { qDebug()<<"Unchecked"; } }
4、QRadioButton
带有文本标签的单选按钮。
一个可以切换选中(checked)或未选中(unchecked)状态的选项按钮。单选框通常呈现给用户一个“多选一”的选择。也就是说,在一组单选框中,一次只能选中一个单选框。
单选框默认开启自动互斥(autoExclusive)。如果启用了自动互斥,属于同一个父部件的单选框的行为就和属于一个互斥按钮组的一样。如果你需要为属于同一父部件的单选框设置多个互斥按钮组,把它们加入QButtonGroup中。
每当一个按钮切换选中或未选中状态时,会发出的toggled()信号。
使用isChecked()来查看特定按钮是否被选中。
QRadioButton::indicator:unchecked { image: url(:/Images/switchOff); } QRadioButton::indicator:checked { image: url(:/Images/switchOn); } //默认选择 radio->setChecked(true);
5、QButtonGroup
提供 一个抽象的按钮容器,可以将多个按钮划分为一组,不具备可视化的效果,一般放的都是可以被检查的按钮。
QButtonGroup可以在整数和按钮之间进行映射。您可以使用setId()为按钮分配一个整数id,并使用id()检索它。当前选中的按钮的id可用checkedId(),并且有一个重载的信号buttonClicked()发出按钮的id。id -1是QButtonGroup保留的,表示“没有这样的按钮”。映射机制的目的是简化用户界面中枚举值的表示。