参考了很多网友的设计,最终看到一个比较适用的,简化一下,留作备用。
import sys
from PyQt5.QtCore import Qt
from PyQt5.QtGui import QStandardItem
from PyQt5.QtWidgets import QApplication, QDialog, QComboBox
class userCheckComb(QComboBox):
def __init__(self, parent=None):
# 参数必须加,因为需要控件需要加入某个窗体
super().__init__(parent)
# 必须设置可编辑,否则lineedit不可编辑,没有settext()
self.setEditable(True)
self.model().dataChanged.connect(self.choicechange)
def choicechange(self):
temptext = []
for i in range(self.model().rowCount()):
if self.model().item(i).checkState() == Qt.Checked:
temptext.append(self.model().item(i).text())
text = ','.join(temptext)
self.lineEdit().setText(text)
def addIt