qt的控件学习——按钮篇QPushButton和它的朋友
1.QPushButton
最基本的按钮,继承于abstrButton.可以通过setMenu函数和QMenu控件进行关联
2.QMenu
3.QCommandLinkButton
链接按钮,setDescription可以更加详细的标注出内容与setText相比是小字
4.QToolButton
工具栏按钮,就是界面上面弹出的那种工具栏。
可以通过setIcon函数设置工具的图标来方便客户辨别。
文字和图标的关系需用setToolButtonStyle函数来进行调节。
用setPopupMode函数来调节按钮触发按钮的弹出方式。
5.QRadioButton
单选框
6.QCheckBox
复选框
connect(box1,&QCheckBox::toggled,this,[](bool check){qInfo()<<"check";});
信号槽捕获,检测是否能选中
QCheckBox::stateChanged复选框独有的选中信号。
toggled函数
每当可检查按钮改变其状态时,都会发出此信号。如果按钮被选中,则Checked为true,如果按钮未被选中,则为false。
toggled是QAbstractButton的函数。QCheckBox和QRadioButton都是它的子类所以自然可以继承。
7.QButtonGroup
按钮组,用来整理按钮。
//新建一个按键组
auto group1=new QButtonGroup(this);
//可以直接在QButtonGroup中new按钮
group1->addButton(new QRadioButton("男",this),0);
group1->addButton(new QRadioButton("女",this),1);
group1->addButton(new QRadioButton("男通",this),2);
group1->addButton(new QRadioButton("女同",this),3);
其中的0,1,2,3表示各个按钮的id,后面在调用按钮组中的按钮时可以用id来调用。
//也可以将已有按钮添加到按钮组中
auto newSex =new QRadioButton("男女不分",this);
group1->addButton(newSex,4);
//设置按钮组中的按钮是否互斥(是否可以多选)
group1->setExclusive(false);
按钮组的信号槽函数有两种一种是查找id,另一种是button是查找指针的
void QButtonGroup::buttonClicked(QAbstractButton *button)
void QButtonGroup::idClicked(int id)