pyqt5中,每点击一次按钮,都生成一个文本框,文本框水平布局,水平布局最后面加上伸缩因子
时间: 2024-06-08 08:07:41 浏览: 169
下面是一个示例代码,实现了每次点击按钮都生成一个文本框,并使用水平布局和伸缩因子布局:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QVBoxLayout, QTextEdit
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
# 创建垂直布局和一个按钮
vbox = QVBoxLayout(self)
btn = QPushButton('Add Text Box', self)
btn.clicked.connect(self.addTextBox)
vbox.addWidget(btn)
# 设置初始布局
hbox = QHBoxLayout()
self.setLayout(hbox)
self.setGeometry(300, 300, 350, 300)
self.setWindowTitle('Text Box Example')
self.show()
def addTextBox(self):
# 创建文本框
textEdit = QTextEdit(self)
# 添加到布局中
hbox = self.layout()
hbox.addWidget(textEdit)
# 添加伸缩因子
hbox.addStretch(1)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在这个示例代码中,我们创建一个窗口,包含一个垂直布局和一个按钮。每次点击按钮,我们调用 `addTextBox()` 方法来生成一个新的文本框,并将其添加到水平布局中。在水平布局的末尾,我们添加了一个伸缩因子,以便在窗口大小改变时自动调整布局。
阅读全文