Форум сайта python.su
Здравстуйте подскажте мне пожалуйста как обрабатывать события в виджете QListWidget().
у меня есть пока 2 вороса.
1) как написать обработчик сигнала , так что бы после выбора элемента из списка QListWidget()
скажем выбрал из списка -> “Один” то вывилось бы через print() в консольном окне скажем “Выбрана строка Один”
2) и второе как добавить контекстное меню в QListWidget(), как сделать так что бы после выбора элемента из списка скажем выбрал из списка -> “Один” кликнтул по нему правой кнопкой мыши , то появилось бы меню “Удалить” кликаю по нему и выбранная строчка удаляется.
Помогите пожалуйста допиште код представленный ниже!
# Пример кода from PyQt4 import Qt, QtGui, QtCore import sys class main(QtGui.QWidget): def __init__(self,parent=None): QtGui.QWidget.__init__(self,parent) self.addLIST = QtGui.QListWidget() lst = ['Один','Два','Три'] self.addLIST.addItems(lst) hbox =QtGui.QHBoxLayout() hbox.addWidget(self.addLIST) self.setLayout(hbox) if __name__ == "__main__": app = QtGui.QApplication(sys.argv) window = main() window.setWindowTitle('Заголовок окна') sizeX, sizeY = (300, 70) window.resize(sizeX, sizeY) window.show() sys.exit(app.exec_())
Отредактировано OzXaker (Окт. 21, 2016 16:18:47)
Офлайн
на пальцах -
QListWidget() -
selectionChanged()
customContextMenuRequest()
Отредактировано vic57 (Окт. 21, 2016 23:00:52)
Офлайн
Первый вопрос я решил, таким образом.
# пример self.addLIST.itemClicked.connect(self.Clicked) def Clicked(self,item): print("Выброна строка >"+item.text())
Отредактировано OzXaker (Окт. 21, 2016 23:13:31)
Офлайн
item.row()
Офлайн
vic57
А на примере можно ?
скажем как на моём примере получить индекс выбранного элемента в списке?
Отредактировано OzXaker (Окт. 21, 2016 23:44:02)
Офлайн
print("Выброна строка >",item.row(),item.text())
Отредактировано vic57 (Окт. 22, 2016 00:39:31)
Офлайн
vic57
Так я уже пробовал выдаёт ошибку:
AttributeError: ‘QListWidgetItem’ object has no attribute ‘row’
Офлайн
в консоли глянь
>>>from PyQt4 import Qt
>>>help(Qt.QListWidget().item())
Офлайн
vic57
from PyQt4 import Qt
help(Qt.QListWidget().item())
————————-
Сворачивает и вылетает из питон
Офлайн
делай по шагам - от Qt до item
python -v
Офлайн