初衷:
想实现一列按钮 比如 1 2 3 4 5………
就想到了 QButtonGroup
但是 发现 添加到QButtonGroup 里的按钮不是理想的布局
于是就想到了布局管理器
但是 布局管理器 添加的按钮 难道给每一个按钮都绑定一个槽函数吗????
于是乎 就有了他两的结合
既实现了布局 用一个connect就实现信号和槽函数的绑定
{
QButtonGroup *buttonGrup = new QButtonGroup(this);
QVBoxLayout *vLayout = new QVBoxLayout(this);
for(int i=0;i<10;i++){
QPushButton *button = new QPushButton(this);
button->setText(QString::number(i));
vLayout->addWidget(button); //把按钮加入到布局中
buttonGrup->addButton(button,i); //把按钮加入到QButtonGroup
}
vLayout->addStretch();
vLayout->setSpacing(10);
setLayout(vLayout);
connect(buttonGrup,SIGNAL(buttonClicked(int)),this,SLOT(buttonGroupClicked(int)));
}
void Widget::buttonGroupClicked(int i)
{
QMessageBox::about(this,"button",QString::number(i));
}
完美解决