十一、控件学习
1.QWidget主窗口控件
1.1 是所有用户界面对象的基类,即直接或间接的继承于该类。
1.2 常用于做顶层小部件或子小部件。
1.3 示例
2.QPushButton按钮控件
2.1 常用信号
clicked(bool checked):点击信号
pressed():按下信号
released():释放信号
toggled(bool checked):开关反转信号
2.2示例
2.2.1 代码
1 QPushButton *pushButton = new QPushButton("测试按钮",this); 2 pushButton->setGeometry(0,0,100,50); 3 pushButton->show(); 4 5 connect(pushButton,&QPushButton::clicked,this,MyWidget::pBClicked); 6 connect(pushButton,&QPushButton::pressed,this,MyWidget::pBPressed); 7 connect(pushButton,&QPushButton::released,this,MyWidget::pBReleased); 8 connect(pushButton,&QPushButton::toggled,this,MyWidget::pBToggled); 9 10 pushButton->setCheckable(true);//可选状态可用设置,为了支持toggle信号的使用
2.2.2 结果
3.QRadioButton单选按钮组件和QButtonGroup按钮组组件
3.1 改变小圆圈的样式
1 QRadioButton::indicator:checked{ 2 image: url(:/imgs/checked.png); 3 } 4 5 QRadioButton::indicator:unchecked{ 6 image: url(:/imgs/unchecked.png); 7 }
3.2 因为放置的五个单选按钮的父级对象都是QWidget相同,所以这五个单选按钮都是互斥的,可以为不同属性的单选按钮进行分组,同一个分组中的单选按钮才互斥,这里就需要使用QButtonGroup进行分组。
3.3 不想同一组中的单选按钮互斥变成多选按钮,通过设置exclusive属性即可。
3.4 常用信号
toggled(bool checked):开关函数,判断选中状态。
4.QCheckBox复选框按钮
4.1 复选框三态
选中状态、半选状态、未选中状态。
4.2 设置三态
设置tristate属性即可。
未选中状态
半选状态
选中状态
设置复选框样式
1 QCheckBox::indicator:indeterminate{//半选状态 2 image: url(:/imgs/checked.png); 3 }
4.3 常用信号
stateChanged(int arg1):三态状态判断
1 switch(arg1){ 2 case Qt::Unchecked: 3 break; 4 case Qt::PartiallyChecked://半选状态 5 break; 6 case Qt::Checked: 7 break; 8 }