当界面中按钮变多时,可以使用QButtonGroup来管理按钮,建立槽函数简化代码。
使用方法如下(本方法是使用代码new的方式创建按钮,没有使用到qt中的.ui):
QButtonGroup* m_gamebtngroup=new QButtonGroup(this);//创建按钮组,之后可以在
QVector<QPushButton*> m_btnChooseGameClass; //按钮容器用来对按钮进行操作
QPushButton* btn;
QString str;
for (int i = 0; i < 5; i++) { //循环创建按钮
btn = new QPushButton(this);
str = QString("QPushButton{background-repeat:no-repeat;border:0px;outline: none;}");//按钮样式
btn->setStyleSheet(str);
btn->setGeometry(100, 175+i*100+8, 250, 80);//按钮的位置
m_btnChooseGameClass.push_back(btn);//将按钮存在数组中,可以使用数组对按钮进行操作。
m_gamebtngroup->addButton(m_btnChooseGameClass[i], i);
}
//连接信号
QObject::connect(m_gamebtngroup, SIGNAL(buttonClicked(int)), this, SLOT(OnButtonClickGame(int)));
//处理信号
void demo::OnButtonClickGame(int index) {//index是用于判断传来信号的下标 i
switch (index) {
case 0:
//执行的方法
break;
case 1:
//执行的方法
break;
case 2:
//执行的方法
break;
case 3:
//执行的方法
break;
case 4:
//执行的方法
break;
}
}