python combobox 每选择一项,则向lineEdit添加被选择combobox项的文本,每次用'、'隔开
时间: 2023-06-13 10:07:24 浏览: 139
可以使用以下代码实现:
```python
from PyQt5.QtWidgets import QApplication, QComboBox, QLineEdit, QVBoxLayout, QWidget
class MyWidget(QWidget):
def __init__(self):
super().__init__()
self.initUI()
def initUI(self):
self.combobox = QComboBox()
self.combobox.addItems(['item1', 'item2', 'item3'])
self.combobox.currentIndexChanged.connect(self.add_text)
self.lineedit = QLineEdit()
layout = QVBoxLayout()
layout.addWidget(self.combobox)
layout.addWidget(self.lineedit)
self.setLayout(layout)
self.show()
def add_text(self, index):
current_text = self.combobox.currentText()
if index != -1 and current_text not in self.lineedit.text():
self.lineedit.setText(self.lineedit.text() + current_text + '、')
if __name__ == '__main__':
app = QApplication([])
widget = MyWidget()
app.exec_()
```
在这个例子中,我们使用了一个 QComboBox 和一个 QLineEdit。每次选择 QComboBox 中的一项,都会触发 currentIndexChanged 信号,然后调用 add_text 函数。在 add_text 函数中,我们获取当前选择的文本,判断这个文本是否已经在 QLineEdit 中出现,如果没有出现,则将这个文本添加到 QLineEdit 中,并在文本末尾加上 '、'。
阅读全文