pyqt5中水平布局2个QLineEdit,怎么保证两个QLineEdit间距不变。
时间: 2024-05-15 07:14:07 浏览: 59
可以使用QHBoxLayout中的addStretch函数添加弹簧来实现两个QLineEdit之间的间距不变。
示例代码如下:
```python
from PyQt5.QtWidgets import QApplication, QWidget, QLineEdit, QHBoxLayout
app = QApplication([])
window = QWidget()
layout = QHBoxLayout()
edit1 = QLineEdit()
edit2 = QLineEdit()
layout.addWidget(edit1)
layout.addStretch(1)
layout.addWidget(edit2)
window.setLayout(layout)
window.show()
app.exec_()
```
其中`addStretch(1)`表示在两个QLineEdit之间添加一个弹簧,使得两个QLineEdit之间的间距不变。可以根据需要调整弹簧的大小。
相关问题
pyqt5实现点击按钮,生成一个文本框,文本框固定大小,固定间距;所有文本框水平布局
你可以通过使用QHBoxLayout布局来实现所有文本框的水平布局。以下是一个简单的示例代码,其中包含一个按钮,当你点击该按钮时,它将创建一个新的文本框并将其添加到水平布局中。
```python
from PyQt5.QtWidgets import QApplication, QWidget, QPushButton, QHBoxLayout, QLineEdit
class Example(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
hbox = QHBoxLayout()
self.button = QPushButton('Add Textbox', self)
self.button.clicked.connect(self.add_textbox)
hbox.addWidget(self.button)
self.setLayout(hbox)
self.setGeometry(300, 300, 300, 150)
self.setWindowTitle('Textbox Example')
self.show()
def add_textbox(self):
textbox = QLineEdit(self)
textbox.setFixedSize(100, 50) # 固定大小
textbox.setContentsMargins(10, 10, 10, 10) # 固定间距
self.layout().addWidget(textbox)
if __name__ == '__main__':
app = QApplication(sys.argv)
ex = Example()
sys.exit(app.exec_())
```
在该示例中,我们创建了一个按钮,当你点击该按钮时,它将调用`add_textbox`函数。该函数将创建一个新的`QLineEdit`文本框,设置其大小和间距,然后将其添加到水平布局中。
阅读全文