Add item single click slot in labelDialog.py (#312)

* Add item single click slot in labelDialog.py

In the original code, double clicking a list item will set the text property and automatically validate afterwards, with the label dialog window disappearing.

In this revised version, double click behavior is unchanged, while single click is added. When single clicking a list item, it will only set text in the QLineEdit. Users can change the text by clicking other items before validating themselves by clicking yes.
This commit is contained in:
wenliwyan 2018-06-14 12:13:28 +08:00 committed by vdalv
parent 8b0f76f6c0
commit 5f9f17f9b4

View File

@ -40,7 +40,8 @@ class LabelDialog(QDialog):
self.listWidget = QListWidget(self) self.listWidget = QListWidget(self)
for item in listItem: for item in listItem:
self.listWidget.addItem(item) self.listWidget.addItem(item)
self.listWidget.itemDoubleClicked.connect(self.listItemClick) self.listWidget.itemClicked.connect(self.listItemClick)
self.listWidget.itemDoubleClicked.connect(self.listItemDoubleClick)
layout.addWidget(self.listWidget) layout.addWidget(self.listWidget)
self.setLayout(layout) self.setLayout(layout)
@ -76,4 +77,7 @@ class LabelDialog(QDialog):
# PyQt5: AttributeError: 'str' object has no attribute 'trimmed' # PyQt5: AttributeError: 'str' object has no attribute 'trimmed'
text = tQListWidgetItem.text().strip() text = tQListWidgetItem.text().strip()
self.edit.setText(text) self.edit.setText(text)
def listItemDoubleClick(self, tQListWidgetItem):
self.listItemClick(tQListWidgetItem)
self.validate() self.validate()