我目前正在学习qt。我试图使用81个QPushButton构建一个小型GUI程序,我想将这些按钮设置为9行9列。我认为最好的实现方式是使用QGridLayout。运行后的效果如下:
我尝试了很多方法来改变按钮的大小,但按钮的大小仍然保持默认值。以下是我的代码:
![enter image description here](https://istack.dev59.com/vNVug.webp)
void MainWindow::setButtons()
{
const QSize btnSize = QSize(50, 50);
for(int i = 0; i < 81; i++) {
btn[i] = new QPushButton(centralWidget);
btn[i]->setText(QString::number(i));
btn[i]->resize(btnSize);
}
QGridLayout *btnLayout = new QGridLayout(centralWidget);
for(int i = 0; i < 9; i++) {
for(int j = 0; j < 9; j++) {
btnLayout->addWidget(btn[j + i * 9], 0 + i, j);
btnLayout->setSpacing(0);
}
}
centralWidget->setLayout(btnLayout);
}
那么我该怎样实际改变这些按钮的大小呢?
谢谢。