Russian Qt Forum
Ноябрь 23, 2024, 08:26 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: Внешний вид таблицы результатов  (Прочитано 3383 раз)
phpCoder
Гость
« : Декабрь 11, 2014, 20:03 »

Добрый вечер.
Использую связку QTableView + QSqlTableModel + MySQL.
Подскажите, плз:
1. Как сделать, чтобы столбец таблицы содержал текст, например, синего цвета + жирный + выровнен по правую сторону?
2. Как изменить высоту всех строк? Ну как в CSS: height: 20px;
3. Как сделать, чтобы в поле таблицы ввел какое-то значение и оно в нем осталось? Просто у меня так: начинаю редактировать поле, снимаю фокус с этого поля и... вместо введенного значения появляется старое значение. При этом в примерах Qt новые значения поля сохраняются в ячейке...
4. Как установить в таблице новый шрифт полей?
Записан
PimenS
Крякер
****
Offline Offline

Сообщений: 371


Просмотр профиля
« Ответ #1 : Декабрь 19, 2014, 16:46 »

Добрый день!

Если не секрет, почему связка QTableView + QSqlTableModel?
Я обычно для редактируемых моделей использую связку QTableView + QSortFilterProxyModel + QAbstractTableModel, что дает возможность настраивать внешний вид данных в таблице
по своему усмотрению, без особых затрат.

1. Для изменения внешнего вида данных в ячейках переопределяется QVariant data(const QModelIndex &index, int role) const Например:
Код:
case Qt::FontRole: {
            QFont font = QFont("Arial", 10, QFont::Normal);
            return qVariantFromValue(font);
            break;
    }

    case Qt::TextAlignmentRole: {
            return int(0x0001 | 0x0080);
            break;
    }

2. Я обычно делаю вот так: verticalHeader()->setDefaultSectionSize(int);
3. Для этого в модели переопределяется bool QAbstractItemModel::​setData(const QModelIndex & index, const QVariant & value, int role = Qt::EditRole)
4. Не понял что имеется ввиду "шрифт полей"

Наверное все это легко сделать и с QSqlTableModel, но почему-то мне больше понравилось работать с QAbstractTableModel.
Записан
demal
Чайник
*
Offline Offline

Сообщений: 53


Просмотр профиля
« Ответ #2 : Январь 11, 2015, 23:05 »

на 3 вопрос: Скорее всего у тебя в qTableView стоит только для чтения. Посмотри тригеры вьюхи.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.045 секунд. Запросов: 22.