Как мне создать маску для числового поля? |
Здравствуйте, гость ( Вход | Регистрация )
Как мне создать маску для числового поля? |
mva |
13.9.2009, 16:42
Сообщение
#1
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
Доброго времени суток всем! Поздравляю всех с Днем Программиста!
В моей БД на PostgreSQL в некоторых таблицах есть числовые поля типа NUMERIC(10, 3). Ну или NUMERIC(12, 2), например. При использовании QTableView они нормально отображаются, с тремя или двумя знаками после запятой. Но при редактировании этих полей не работает маска ввода, т.е. в поле можно вводить все что угодно. Хотелось бы, чтобы пользователь сразу видел маску ввода чисел. Проблема в том, что я не знаю, где эту маску можно получить. Фунция QSqlField::precision(), на которую я рассчитывал, возвращает -1. Кто-нибудь может помочь? |
|
|
Litkevich Yuriy |
14.9.2009, 15:22
Сообщение
#2
|
разработчик РЭА Группа: Сомодератор Сообщений: 9669 Регистрация: 9.1.2008 Из: Тюмень Пользователь №: 64 Спасибо сказали: 807 раз(а) Репутация: 94 |
|
|
|
SABROG |
14.9.2009, 15:31
Сообщение
#3
|
Профессионал Группа: Участник Сообщений: 1207 Регистрация: 8.12.2008 Из: Russia, Moscow Пользователь №: 446 Спасибо сказали: 229 раз(а) Репутация: 34 |
- типу вводимых значений (int, float, char) Я понял, что по типу БД (NUMERIC(10,3) ...)Кажись понял, это скалярный тип. Может быть через метод Type QVariant::type () const получится? --- Не прокатит. Qt под одну гребенку следующие типы приводит к double:
Сообщение отредактировал SABROG - 14.9.2009, 15:37 |
|
|
mva |
14.9.2009, 15:53
Сообщение
#4
|
Участник Группа: Участник Сообщений: 104 Регистрация: 15.3.2009 Из: Киров Пользователь №: 615 Спасибо сказали: 3 раз(а) Репутация: 0 |
Не прокатит. Qt под одну гребенку следующие типы приводит к double: Вот именно. Подсмотрел через сниффер. Оказывается, Qt ничего не знает о типе числовых полей. Она просто тупо отображает то, что получает от SQL сервера. Похоже, при открытии таблицы придется дополнительно делать запрос на сервер о более подробной информации о полях таблицы. |
|
|
Текстовая версия | Сейчас: 15.1.2025, 3:07 |