用一个qinputdialog实现多个输入框,并返回其值
时间: 2024-09-08 17:00:45 浏览: 109
在PyQt5库中,可以使用`QInputDialog`来创建一个包含多个输入框的对话框,让用户输入数据。这里是一个简单的例子,展示如何实现一个多输入框的对话框:
```python
from PyQt5.QtWidgets import QApplication, QDialog, QVBoxLayout, QLabel, QLineEdit
class MultiInputDialog(QDialog):
def __init__(self, parent=None):
super(MultiInputDialog, self).__init__(parent)
layout = QVBoxLayout()
self.setWindowTitle("Multiple Input Dialog")
# 创建多个输入框,例如两个
for i in range(2):
label = QLabel(f"Input {i+1}:")
line_edit = QLineEdit()
layout.addWidget(label)
layout.addWidget(line_edit)
# 添加确认按钮
button_box = QDialogButtonBox(QDialogButtonBox.Ok | QDialogButtonBox.Cancel)
layout.addWidget(button_box)
button_box.accepted.connect(self.accept)
button_box.rejected.connect(self.reject)
self.setLayout(layout)
def get_values(self):
values = []
for i in range(self.layout().count()):
if isinstance(self.layout().itemAt(i), QLineEdit):
values.append(self.layout().itemAt(i).text())
return values
if __name__ == "__main__":
app = QApplication([])
dialog = MultiInputDialog()
result = dialog.exec_()
if result == QDialog.Accepted:
input_values = dialog.get_values()
print("Input values:", input_values)
```
这个`MultiInputDialog`类创建了一个对话框,包含两个`QLineEdit`(输入框),用户点击“OK”按钮后,会获取并返回所有的输入值。你可以根据需要调整输入框的数量。
阅读全文