Russian Qt Forum
Ноябрь 25, 2024, 15:24
Добро пожаловать,
Гость
. Пожалуйста,
войдите
или
зарегистрируйтесь
.
Вам не пришло
письмо с кодом активации?
1 час
1 день
1 неделя
1 месяц
Навсегда
Войти
Начало
Форум
WIKI (Вики)
FAQ
Помощь
Поиск
Войти
Регистрация
Russian Qt Forum
>
Forum
>
Qt
>
Пользовательский интерфейс (GUI)
>
Виджеты для отображения NULL-значений
Страниц: [
1
]
Вниз
« предыдущая тема
следующая тема »
Печать
Автор
Тема: Виджеты для отображения NULL-значений (Прочитано 4781 раз)
enumerator
Гость
Виджеты для отображения NULL-значений
«
:
Август 09, 2013, 09:26 »
Добрый день.
Возникла необходимость организовать ввод значений различного типа (строки, числа, даты и т.п.) с возможностью указания неопределенного (NULL) значения. Нет ли каких-либо готовых компонент для решения данной задачи?
Записан
Bepec
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #1 :
Август 09, 2013, 09:43 »
QLineEdit и в функции обработки ввода проводить проверки?
Записан
enumerator
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #2 :
Август 09, 2013, 09:47 »
А каким образом предлагаете идентифицировать сам NULL? Пустая строка это не NULL и строка "NULL" это тоже не NULL.
Записан
mutineer
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #3 :
Август 09, 2013, 10:11 »
Добавь рядом кнопочку:)
Записан
enumerator
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #4 :
Август 09, 2013, 10:20 »
Я так и сделал: написал шаблонный класс типа CheckBox + Виджет нужного типа, если CheckBox активирован, то виджет блокируется.
Но как-то это не очень эстетично, поэтому и интересно, нет ли каких-либо готовых компонент для моей задачи.
Записан
Bepec
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #5 :
Август 09, 2013, 10:22 »
А как вы хотите NULL показать пользователю? Он же NULL. Пустота. Его не показать.
Потому резервируем слово NULL и наслаждаемся.
Записан
enumerator
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #6 :
Август 09, 2013, 10:25 »
В том и вопрос, как организовать отображение. Строка NULL - это строка, а не NULL-значение. Кроме того, хотелось бы использовать типизованные редакторы (календари, SpinBox-ы и проч.), а там строку и вовсе не ввести.
Записан
mutineer
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #7 :
Август 09, 2013, 10:27 »
ну как ты хочешь отобразить NULL, если любое отображаемое значение по твоему это не NULL?
Записан
enumerator
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #8 :
Август 09, 2013, 10:40 »
Возможно, каким-то образом скрыть основной редактор, какой-то визуальный эффект к нему применить. Сейчас я ему просто выставляю setEnabled( false ).
Записан
Bepec
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #9 :
Август 09, 2013, 10:43 »
Авторитетный диагноз - вы страдаете хренью.
Ввести NULL пользователь не может. Так что выбирайте
1) строковый анализ;
2) аналоги чекбокса; (выше или ниже редактора)
3) кнопка NULL.
PS NULL на самом деле нет. NULL это тяпдеф int = 0.
Записан
mutineer
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #10 :
Август 09, 2013, 10:47 »
Нарисуй поверх виджета черную дыру
Записан
voral
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #11 :
Август 09, 2013, 11:05 »
Отображение это как раз совсем не проблема. Можно посмотреть это в различных программах-инструментах работающих с БД. По моим наблюдениям все осуществляется примерно по следующему плану:
1. Отображение: в поле отображается "<NULL>" иногда с выделением специальным цветом (цвет можно вынести в настройки ПО)
2. Установка в NULL. Пункт в контекстном меню. Если для вашей программы наличие контекстного меню вещь не очевидная, то кнопка рядом с полем вполне разумное решение.
А для пущей "эстетичности" можно, например, нарисовать свой QLineEdit где эта кнопка будет визуально внутри поля ввода с правого края
Записан
Bepec
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #12 :
Август 09, 2013, 12:07 »
+1 к черной дыре.
Записан
enumerator
Гость
Re: Виджеты для отображения NULL-значений
«
Ответ #13 :
Август 09, 2013, 14:40 »
Остановился на варианте с кнопкой + отключение контрола ввода. Всем спасибо.
Записан
Страниц: [
1
]
Вверх
Печать
« предыдущая тема
следующая тема »
Перейти в:
Пожалуйста, выберите назначение:
-----------------------------
Qt
-----------------------------
=> Вопросы новичков
=> Уроки и статьи
=> Установка, сборка, отладка, тестирование
=> Общие вопросы
=> Пользовательский интерфейс (GUI)
=> Qt Quick
=> Model-View (MV)
=> Базы данных
=> Работа с сетью
=> Многопоточное программирование, процессы
=> Мультимедиа
=> 2D и 3D графика
=> OpenGL
=> Печать
=> Интернационализация, локализация
=> QSS
=> XML
=> Qt Script, QtWebKit
=> ActiveX
=> Qt Embedded
=> Дополнительные компоненты
=> Кладовая готовых решений
=> Вклад сообщества в Qt
=> Qt-инструментарий
-----------------------------
Программирование
-----------------------------
=> Общий
=> С/C++
=> Python
=> Алгоритмы
=> Базы данных
=> Разработка игр
-----------------------------
Компиляторы и платформы
-----------------------------
=> Linux
=> Windows
=> Mac OS X
=> Компиляторы
===> Visual C++
-----------------------------
Разное
-----------------------------
=> Новости
===> Новости Qt сообщества
===> Новости IT сферы
=> Говорилка
=> Юмор
=> Объявления
Загружается...