Для создания текстового поля при нажатии на кнопку в PyQt5, вы можете использовать следующий код:
```python
import sys
from PyQt5.QtWidgets import QApplication, QWidget, QVBoxLayout, QPushButton, QLineEdit
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.layout = QVBoxLayout()
self.button = QPushButton('Создать текстовое поле')
self.button.clicked.connect(self.create_text_field)
self.layout.addWidget(self.button)
self.setLayout(self.layout)
self.show()
def create_text_field(self):
text_field = QLineEdit()
self.layout.addWidget(text_field)
if __name__ == '__main__':
app = QApplication(sys.argv)
widget = MyWidget()
sys.exit(app.exec_())
```
Чтобы исправить проблему, при которой функция "browse" не создает новый line edit, хотя в списке с line edit-ами он отображается, убедитесь, что вы обновляете виджет после добавления нового элемента. В вашем случае, после добавления нового line edit, вызовите `self.layout.update()` или `self.layout.addWidget(your_new_line_edit)` после добавления нового line edit в список.