Название: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 09:26 Добрый день.
Возникла необходимость организовать ввод значений различного типа (строки, числа, даты и т.п.) с возможностью указания неопределенного (NULL) значения. Нет ли каких-либо готовых компонент для решения данной задачи? Название: Re: Виджеты для отображения NULL-значений Отправлено: Bepec от Август 09, 2013, 09:43 QLineEdit и в функции обработки ввода проводить проверки?
Название: Re: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 09:47 А каким образом предлагаете идентифицировать сам NULL? Пустая строка это не NULL и строка "NULL" это тоже не NULL.
Название: Re: Виджеты для отображения NULL-значений Отправлено: mutineer от Август 09, 2013, 10:11 Добавь рядом кнопочку:)
Название: Re: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 10:20 Я так и сделал: написал шаблонный класс типа CheckBox + Виджет нужного типа, если CheckBox активирован, то виджет блокируется.
Но как-то это не очень эстетично, поэтому и интересно, нет ли каких-либо готовых компонент для моей задачи. Название: Re: Виджеты для отображения NULL-значений Отправлено: Bepec от Август 09, 2013, 10:22 А как вы хотите NULL показать пользователю? Он же NULL. Пустота. Его не показать.
Потому резервируем слово NULL и наслаждаемся. Название: Re: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 10:25 В том и вопрос, как организовать отображение. Строка NULL - это строка, а не NULL-значение. Кроме того, хотелось бы использовать типизованные редакторы (календари, SpinBox-ы и проч.), а там строку и вовсе не ввести.
Название: Re: Виджеты для отображения NULL-значений Отправлено: mutineer от Август 09, 2013, 10:27 ну как ты хочешь отобразить NULL, если любое отображаемое значение по твоему это не NULL?
Название: Re: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 10:40 Возможно, каким-то образом скрыть основной редактор, какой-то визуальный эффект к нему применить. Сейчас я ему просто выставляю setEnabled( false ).
Название: Re: Виджеты для отображения NULL-значений Отправлено: Bepec от Август 09, 2013, 10:43 Авторитетный диагноз - вы страдаете хренью.
Ввести NULL пользователь не может. Так что выбирайте 1) строковый анализ; 2) аналоги чекбокса; (выше или ниже редактора) 3) кнопка NULL. PS NULL на самом деле нет. NULL это тяпдеф int = 0. Название: Re: Виджеты для отображения NULL-значений Отправлено: mutineer от Август 09, 2013, 10:47 Нарисуй поверх виджета черную дыру
Название: Re: Виджеты для отображения NULL-значений Отправлено: voral от Август 09, 2013, 11:05 Отображение это как раз совсем не проблема. Можно посмотреть это в различных программах-инструментах работающих с БД. По моим наблюдениям все осуществляется примерно по следующему плану:
1. Отображение: в поле отображается "<NULL>" иногда с выделением специальным цветом (цвет можно вынести в настройки ПО) 2. Установка в NULL. Пункт в контекстном меню. Если для вашей программы наличие контекстного меню вещь не очевидная, то кнопка рядом с полем вполне разумное решение. А для пущей "эстетичности" можно, например, нарисовать свой QLineEdit где эта кнопка будет визуально внутри поля ввода с правого края Название: Re: Виджеты для отображения NULL-значений Отправлено: Bepec от Август 09, 2013, 12:07 +1 к черной дыре.
Название: Re: Виджеты для отображения NULL-значений Отправлено: enumerator от Август 09, 2013, 14:40 Остановился на варианте с кнопкой + отключение контрола ввода. Всем спасибо.
|