Russian Qt Forum

Qt => Базы данных => Тема начата: Пытон от Ноябрь 24, 2014, 06:47



Название: Получить индекс в модели по значению одно
Отправлено: Пытон от Ноябрь 24, 2014, 06:47
Код
Python
from PyQt4 import QtSql
model = QtSql.QSqlTableModel()
model.setTable(“myTable”)
model.select()
 
Допустим, в myTable два поля ID, name
Как получить индекс строки модели в которой ID равен, допустим, семи.

Что-то я заблудился уже в моделях, представлениях, селекшн-моделях…
Люди добрые, подскажите кто что может, глаза уже замылились…

Пишу свой виджет (типа комбобокса), который, при нажатии на кнопочку, показывает не одностолбцовый список, а полноценную таблицу с какими тебе надо полями. Также в основном своём поле (в котором виден результат выбора (lineEdit)) он выдаёт значение не одного поля из выбранной строки, а столько сколько требуется. Уже нарисовал возможность появления этой таблицы в виде popup-окна, в виде составной части основного окна, в виде отдельного окна. Теперь надо чтобы мой “комбобокс” сразу показывал то значение в модели, которое я ему передаю в качестве значения по умолчанию при создании экземпляра класса.


Название: Re: Получить индекс в модели по значению одного из полей.
Отправлено: Пантер от Ноябрь 24, 2014, 08:27
Только пробежаться по всем индексам, пока не найдешь нужный id.


Название: Re: Получить индекс в модели по значению одного из полей.
Отправлено: Kurles от Ноябрь 24, 2014, 08:30
Только пробежаться по всем индексам, пока не найдешь нужный id.
Либо кэшировать id при создании