将7个横向按钮添加到QscrollArea,并且不显示滚动条,不使用for循环添加按钮,请一个一个添加到widget
时间: 2024-09-10 15:02:39 浏览: 78
jquery实现区块或链接横向无缝循环滚动,自适应宽度,可随意设置外容器的宽度 高度自适应,兼容IE,FF,CHROME.zip
在PyQt5中,你可以使用`QScrollArea`和`QWidget`来创建这样的布局。首先,你需要创建一个`QScrollArea`实例,然后设置其`WidgetResizable`属性为False以隐藏滚动条。接着,你可以直接在`QScrollArea`的`viewport()`上添加一个`QWidget`作为内容区域,并在这个`QWidget`中添加单个按钮。
这是一个示例代码片段:
```python
from PyQt5.QtWidgets import QApplication, QScrollArea, QPushButton
# 创建窗口
app = QApplication([])
# 创建主窗口
main_window = QWidget()
main_layout = QVBoxLayout(main_window)
main_window.setLayout(main_layout)
# 创建QScrollArea
scroll_area = QScrollArea(main_window)
scroll_area.setWidgetResizable(False) # 隐藏滚动条
scroll_viewport = QWidget(scroll_area) # 内容区域
scroll_area.setViewport(scroll_viewport)
# 创建并添加按钮
button1 = QPushButton("Button 1", scroll_viewport)
button2 = QPushButton("Button 2", scroll_viewport)
# ...
button7 = QPushButton("Button 7", scroll_viewport)
# 直接将按钮添加到content_widget上,而不是使用循环
scroll_viewport.layout().addWidget(button1)
scroll_viewport.layout().addWidget(button2)
# ...
scroll_viewport.layout().addWidget(button7)
# 添加滚动区到主窗口
main_layout.addWidget(scroll_area)
# 显示窗口
main_window.show()
# 运行应用程序
app.exec_()
```
在这里,你需要手动为每个按钮编写一行代码来添加,因为没有使用循环。每行都是`scroll_viewport.layout().addWidget(button_i)`的形式,其中`button_i`是你想要添加的第i个按钮。
阅读全文