crossplatform.ru

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


  Ответ в Опциональные поля в TableView
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
 

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
bo0blik Дата 21.10.2009, 10:46
 
Цитата(Litkevich Yuriy @ 21.10.2009, 8:20) *
Обрати внимание на таблицу в описании этого класса, а именно на строку:
Qt::DecorationRole | QIcon and QColor


Да, да на таблицу я долго медитировал, но так и не понял как с этим свойством работать?
Litkevich Yuriy Дата 21.10.2009, 8:20
 
Цитата(bo0blik @ 21.10.2009, 11:18) *
но как иконку добавить к надписи в данном случае?
Обрати внимание на таблицу в описании этого класса, а именно на строку:
Qt::DecorationRole | QIcon and QColor
bo0blik Дата 21.10.2009, 7:18
  Решил с помощью QStyledItemDelegate

QString ImageStyle::displayText ( const QVariant & value, const QLocale & locale ) const
{
    if(value.toString().isEmpty())
        return "Нет картинки";
    else
        return "Есть картинка";
}


Довольно удобно, но как иконку добавить к надписи в данном случае?
bo0blik Дата 21.10.2009, 3:22
 
Цитата(Litkevich Yuriy @ 20.10.2009, 22:26) *
а как ты видишь работу? Может и можно только я не пойму конечную цель. Вариантов реализации может быть много.


Ну что-то вроде функции которая вешается, к примеру, на нужную колонку, в нее попадают данные, обрабатывают и выдаются нужные.
Litkevich Yuriy Дата 20.10.2009, 21:26
 
Цитата(bo0blik @ 21.10.2009, 1:11) *
Я думал что возможно в qt есть подобный обработчик отображения.
а как ты видишь работу? Может и можно только я не пойму конечную цель. Вариантов реализации может быть много.
MoPDoBoPoT Дата 20.10.2009, 21:20
 
Цитата(bo0blik @ 20.10.2009, 22:11) *
Я думал что возможно в qt есть подобный обработчик отображения.

Конечно можно. Отнаследоваться от QSqlQueryModel и переопределить метод data(const QModelIndex &item, int role) const
bo0blik Дата 20.10.2009, 21:19
 
Цитата(Litkevich Yuriy @ 20.10.2009, 22:13) *
См. моё сообщение (обновилось)


И мое тоже :)
Litkevich Yuriy Дата 20.10.2009, 21:13
  См. моё сообщение (обновилось)
bo0blik Дата 20.10.2009, 21:11
  Litkevich Yuriy, а я и не знал что можно и такие запросы делать.

Но тем не мение такой метод не очень удобен, ибо могут возникнуть другие потребности, например иконка в ячейке, это уж таким запросом не уладишь.

Я думал что возможно в qt есть подобный обработчик отображения.
Litkevich Yuriy Дата 20.10.2009, 21:09
 
Цитата(bo0blik @ 21.10.2009, 0:18) *
Да, но через отдельный диалог.
тогда я бы использовал QSqlQueryModel, сформировал такой запрос, чтобы при не пустом (NULL) значении поля запрос возвращал бы один текст, а при пустом другой. (Оператор case можно использовать)

положим табличка MYTABLE, такая:
id | name   | status 
1  | Vas'ka | good
2  | Miha    | sleep
3  | crazy   | NULL


тогда запрос такой:
SELECT id, name, (case when status = ISNULL then "text Absent" else  "Text Presence" end) FROM MYTABLE
Просмотр темы полностью (откроется в новом окне)
RSS Текстовая версия Сейчас: 5.12.2021, 19:24