Я новичок в программировании MVC и PyQt. Я хотел выяснить способ обновления ListView при нажатии элемента из другого ListView. Я иду от MVC.Как обновить ListView 2 на основе элемента, нажатого на ListView 1
ListView 1 обновляется путем перечисления всех основных узлов XML-файла. ListView 2 должен быть обновлен дочерними узлами щелканного родительского узла из ListView 1.
Как я могу испустить сигнал из ListView1 (onClicked()) и захватить в ListView2 вместе с соответствующим щелчком по элементу. Когда у меня есть этот элемент, я могу использовать его с существующей логикой для заполнения ListView2 с помощью этого элемента.
До сих пор я пробовал использовать другой подход, но никто не работал. В том числе:
val = ListView1.clicked.connect(getRowName)
def getRowName():
data = ListView1.selectedIndexes()
print(data)
return data
Переменная «data» не имеет значения даже после нажатия на элемент в ListView1.
Еще одна вещь. Должен ли я рассмотреть две модели по одному для ListView 1 и ListView 2?
Я использую sorrry, если я вас смутил, но по моему запросу я должен был использовать Clicked вместо Selected. Поэтому я пытаюсь найти способ получить элемент (который был нажат в ListView1) вместе с сигналом, используя который я могу обновить содержимое в ListView2. BTW Спасибо за ваш ответ. –
Почему это должно быть на клике, а не на выборе? Это то, что вы действительно хотите? Если вы обновляете второй список на основе выбора в первом списке, вы хотите обновить его только после изменения выбора, не так ли? Если вы используете 'clicked', он будет обновлять второй список * каждый раз, когда клик регистрируется в первом списке, даже если ничего не выбрано и даже если выбор не изменяется. –
Но как я могу передать информацию о том, какой ITEM в списке был выбран? Спасибо –