crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> QComboBox и sqlQueryModel, получить отличный от отображаемого столбца , столбец модели
Andrewshkovskii
  опции профиля:
сообщение 8.7.2011, 16:16
Сообщение #1


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


Есть у меня Qcombobox, у которого стоит модель QSqlQueryModel (select id, name ..) .
Соответственно отображается name, но при определенных событиях надо получать id выбранного name.
Как это сделать по-красивее?
Вариант с выборкой айдишника по тексту из базы - не красиво.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Andrewshkovskii
  опции профиля:
сообщение 8.7.2011, 16:47
Сообщение #2


Активный участник
***

Группа: Участник
Сообщений: 351
Регистрация: 27.12.2008
Пользователь №: 467

Спасибо сказали: 18 раз(а)




Репутация:   1  


вот как мне взять то? Мне нужно понять что выбрано комбобоксом было относительно модели. Есть вариант тупо по индексу смотреть:
    def sel_id(self, *args, **kwargs) :
        print args[0], kwargs
        i = self.form.ui.login_combobox.currentIndex()
        j = self.form.ui.login_combobox.model().record(i).value(1).toInt()
        print 'j', j

Но эт не совсем годиться, это костыль..
Ну тоесть в нормальном варианте вот так :
    def get_selected_user_id(self, *args) :
        return self.users_model.record(self.form.ui.login_combobox.currentIndex()).value(1).toInt()[0]

Но это работает только потому что порядок строк в комбобоксе соответствует порядку строк в модели. Если будет разная сортировка - то беда.

Сообщение отредактировал Andrewshkovskii - 8.7.2011, 17:02
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 15.1.2025, 20:22