Найти - Пользователи
Полная версия: PyQt4: выделить первую строку QListView
Начало » GUI » PyQt4: выделить первую строку QListView
1
Razor
Доброго времени суток!

Сколько не пытался, так и не смог выделить первую строку после прогрузки интерфейса. Тип - QListView.

Пытался воспользоваться поиском, везде советы создать индекс модели и загрузить его. Сделал - не помогает. Возвращает None при загрузке в QListView:
index = self.ui.nodes_list.model().index(0, 0)
print self.ui.nodes_list.setCurrentIndex(index)
где self.ui.nodes_list - это QListView

Как выбрать первый элемент списка?

И небольшой дополнительный вопрос знатокам: везде советуют использовать QListWidget вместо QListView. Насколько это правильно и почему?
Rodegast
> везде советы создать индекс модели и загрузить его
Тебе правильно советуют.

> Сделал - не помогает
Индекс создаётся? Если создаётся, то код в студию.

> Возвращает None при загрузке в QListView
А оно и не должно ничего возвращать.

> везде советуют использовать QListWidget вместо QListView. Насколько это правильно и почему?
Где такое советуют? Сейчас наоборот чаще модель/представление используют.
Razor
Rodegast
А оно и не должно ничего возвращать.

Я извиняюсь, вышло недразумение. Я все написал правильно и тот код, который я указал - действительно работает. Ошибку нашел в другом месте:
self.ui.nodes_list.clicked.connect(self.get_node_to_variants)
Я повесил функцию на clicked, а пытался вызвать ее выделением. Изменил на выделение и все заработало:
self.ui.nodes_list.selectionModel().selectionChanged.connect(self.get_node_to_variants)
Вы вроде ответ и не написали, но до меня дошло только во время прочтения вашего ответа. Магия какая-то. Спасибо
py.user.next
Razor
везде советуют использовать QListWidget вместо QListView. Насколько это правильно и почему?
Описание Описание (перевод)
Туториал

Разделение на модель/представление даёт возможность подключать разные представления к одной модели с данными (в том числе одновременно) и даёт возможность иметь произвольную структуру для хранения отображаемых данных.
Razor
py.user.next
Описание Описание (перевод)
Туториал
Спасибо за ссылки и уточнение. Без сарказма, вы внесли крайне большой вклад в мое образование. Просто модели с первого взгляда смотрятся немного странно, но потом понимаешь, что это не сложность, а гибкость.
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.
Powered by DjangoBB