LINUX.ORG.RU

Сообщения Pupil

 

Отсутствует кириллица при запросе данных c помощью QSqlTableModel

Доброго дня! При создании класса, наследованного от

QSqlTableModel

, в функции:

QVariant ReportModel::data(const QModelIndex &idx, int role) const
{
   QVariant value = QSqlTableModel::data(idx, role);

   switch (role)
   {
        case Qt::FontRole: {

           QString x = value.toString();
           QString  y = x.toLocal8Bit();

           if(idx.column() == 6 && y == "Да")  {

            QFont font = QFont("Helvetica", 12, QFont::Bold);
                          return qVariantFromValue(font);}
            else   if(idx.column() == 7 && y == "Нет")  {
                         QFont font = QFont("Helvetica", 8, QFont::Bold);
                          return qVariantFromValue(font);
            }
            break;
        }

невозможно из

QVariant value = QSqlTableModel::data(idx, role);
получить символы кириллицы.

Функция

toLocal8bit()
срабатывает в случае, если
QVariant
принудительно в коде присвоить значение, например,
QVariant x = "Пример";
из базы данных же оно упорно не хочет читать кириллицу.

Qt 4.8 СУБД PostgreSql 9.0.1 кодировка в БД: KOI8R исходники в кодировке KOI8R

 , , ,

Pupil
()

Как реализовать ЧекБокс в ячейке QTableView?

Здравствуйте!

Есть QTableView, к которому подключаем QSqlTableModel.
В базе данных есть поле типа boolean.
Каким образом можно изменить отображение данного поля в QTableView c true/false на интерактивный QCheckBox (с возможностью изменения данного поля)?

С уважением!

 , ,

Pupil
()

RSS подписка на новые темы