Уведомления

Группа в Telegram: @pythonsu

#1 Окт. 21, 2016 16:11:05

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

QListWidget()

Здравстуйте подскажте мне пожалуйста как обрабатывать события в виджете 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)

Офлайн

#2 Окт. 21, 2016 22:59:38

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

QListWidget()

на пальцах -

QListWidget() - 
selectionChanged()
customContextMenuRequest()

Отредактировано vic57 (Окт. 21, 2016 23:00:52)

Офлайн

#3 Окт. 21, 2016 23:03:44

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

QListWidget()

Первый вопрос я решил, таким образом.

 # пример
self.addLIST.itemClicked.connect(self.Clicked)
def Clicked(self,item):
        print("Выброна строка >"+item.text())

У меня теперь новый вопрос как получить индекс выбранного элемента в списке?!



Отредактировано OzXaker (Окт. 21, 2016 23:13:31)

Офлайн

#4 Окт. 21, 2016 23:27:37

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

QListWidget()

item.row()

Офлайн

#5 Окт. 21, 2016 23:40:58

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

QListWidget()

vic57
А на примере можно ?
скажем как на моём примере получить индекс выбранного элемента в списке?



Отредактировано OzXaker (Окт. 21, 2016 23:44:02)

Офлайн

#6 Окт. 22, 2016 00:39:06

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

QListWidget()

 
print("Выброна строка >",item.row(),item.text())

Отредактировано vic57 (Окт. 22, 2016 00:39:31)

Офлайн

#7 Окт. 22, 2016 00:44:55

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

QListWidget()

vic57
Так я уже пробовал выдаёт ошибку:
AttributeError: ‘QListWidgetItem’ object has no attribute ‘row’



Офлайн

#8 Окт. 22, 2016 00:50:25

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

QListWidget()

в консоли глянь

>>>from PyQt4 import Qt
>>>help(Qt.QListWidget().item())

Офлайн

#9 Окт. 22, 2016 01:00:18

OzXaker
От:
Зарегистрирован: 2010-12-01
Сообщения: 49
Репутация: +  0  -
Профиль   Адрес электронной почты  

QListWidget()

vic57
from PyQt4 import Qt
help(Qt.QListWidget().item())
————————-
Сворачивает и вылетает из питон



Офлайн

#10 Окт. 22, 2016 01:11:14

vic57
Зарегистрирован: 2015-07-07
Сообщения: 893
Репутация: +  126  -
Профиль   Отправить e-mail  

QListWidget()

делай по шагам - от Qt до item

python -v

Офлайн

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version