pyqt5,创建10个QWidget,但是我希望这10个页面,每个页面都用QWidget创建,这10个页面不是排成1行,而是排成2行,请问代码如何编写
时间: 2023-09-20 18:04:32 浏览: 44
您可以使用QGridLayout布局管理器来实现这个需求。具体代码如下:
```python
import sys
from PyQt5.QtWidgets import QApplication, QGridLayout, QWidget
class MyWindow(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.setGeometry(100, 100, 500, 500)
grid = QGridLayout()
for i in range(10):
widget = QWidget()
widget.setObjectName(f"widget{i}")
grid.addWidget(widget, i // 5, i % 5)
self.setLayout(grid)
if __name__ == "__main__":
app = QApplication(sys.argv)
window = MyWindow()
window.show()
sys.exit(app.exec_())
```
在代码中,我们使用了一个for循环创建了10个QWidget,并通过QGridLayout布局管理器将其分别排在2行5列的网格中。其中,通过i // 5和i % 5可以确定每个QWidget在网格中的位置。如果需要更改QWidget的样式和内容,可以在for循环内添加相应的代码。
阅读全文