Qt QButtonGroup 和 布局管理器 的结合

初衷:
想实现一列按钮 比如 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));
}

Qt QButtonGroup 和 布局管理器 的结合_第1张图片

完美解决

你可能感兴趣的:(Qt QButtonGroup 和 布局管理器 的结合)