将7个横向按钮添加到QscrollArea,并且不显示滚动条,不使用for循环添加按钮,请一个一个添加到widget c++语言
时间: 2024-09-09 13:05:45 浏览: 41
在C++中,特别是在Qt框架下,要将7个横向按钮添加到`QScrollArea`而不显示滚动条,且不使用for循环,你可以这样做:
```cpp
#include <QApplication>
#include <QWidget>
#include <QVBoxLayout>
#include <QPushButton>
#include <QScrollArea>
int main(int argc, char *argv[]) {
QApplication app(argc, argv);
// 创建主窗口
QWidget *centralWidget = new QWidget();
// 设置窗口大小
centralWidget->setMinimumSize(400, 200);
// 创建垂直布局
QVBoxLayout *layout = new QVBoxLayout(centralWidget);
layout->setAlignment(Qt::AlignTop); // 水平居左
// 创建QScrollArea
QScrollArea *scrollArea = new QScrollArea();
scrollArea->setFrameShape(QFrame::NoFrame); // 隐藏边框
scrollArea->setWidgetResizable(false); // 禁止用户调整大小
scrollArea->setHorizontalScrollBarPolicy(Qt::ScrollBarAlwaysOff); // 隐藏水平滚动条
scrollArea->setVerticalScrollBarPolicy(Qt::ScrollBarNever); // 隐藏垂直滚动条
// 添加单个按钮
QPushButton *button1 = new QPushButton("Button 1", scrollArea);
layout->addWidget(button1);
scrollArea->setWidget(button1); // 把第一个按钮设置为内部内容
// 接着添加其他6个按钮
QPushButton *button2 = new QPushButton("Button 2", scrollArea);
layout->addWidget(button2);
scrollArea->addWidget(button2);
// ... (重复上述步骤,添加剩下的5个按钮)
// 将垂直布局添加到QScrollArea
scrollArea->setLayout(layout);
// 将QScrollArea添加到中央区域
centralWidget->addWidget(scrollArea);
// 显示窗口
centralWidget->show();
return app.exec();
}
```
阅读全文