LINUX.ORG.RU
ФорумTalks

Дизайн числовых полей ввода

 ,


1

1

Привет, подскажите, как правильно делать числовые формы ввода. Конкретно, интересют две вещи:

  • где располагать единицу измерения
  • по какому краю выравнивать названия полей

Вот для примера три варианта (названия выровнены по правому краю, относительно них вообще нет идей).

  • Var 1 — не понравился коллегам (самый ацтойный, по их мнению)
  • Var 2 — немного напрягает меня, т.к. буковки слегка замыливают циферки с точки зрения парсинга (может это только у меня так?)
  • Var 3 — единицу измерения сложнее вычленить визуально

Беглое гугление толком ответов не дало. Как делают такие формы правильные пацаны?


Мне понравился Var 2 и немного меньше Var 1.

EXL ★★★★★
()

Первый, но выравнивание значений должно быть по правому краю.

Можно сделать похоже на второй, если единицы написать на фоне того же цвета, что и фон у значения.

Ну, еще можно добавить быстрые кнопки для сброса настроек или для настроек на несколько вариантов по умолчанию.

abraziv_whiskey ★★★★★
()

Первый и второй норм. Первый вроде самый торадиционный

буковки слегка замыливают циферки с точки зрения парсинга

Не, норм. Скорее даже наоборот

MrClon ★★★★★
()

по мне так третий лучше

WerNA ★★★★★
()
Ответ на: комментарий от fluorite

Правильные пацаны делают так

Снимают видео вертикально?

EXL ★★★★★
()

Первый или третий, только значения равняй по правому краю.

Deleted
()

Я за первый вариант и за то что твои коллеги полностью безграмотны в UX. Только значения в полях нужно выравнивать по правому краю.

Самый отстойный - третий вариант, поскольку во-первых, нарушается естественный порядок частей строки, во-вторых, единица измерений становится менее заметна и в-третьих, появляется лишний шум в виде запятой, из-за чего становится менее читабельна основная подпись.

Второй вариант не имеет права на жизнь если единицу измерения можно редактировать. Что будет если я вставлю значение из буфера обмена и затру единицу? Подставит дефолтное? В какой момент? Увижу ли я его? А что если я скопипастил значение в герцах? А что если единица не влезла в окошко? Другими словами, точно ли я пойму что мне нужно скорректировать значение на килогерцы? Далее, распарсит ли оно mHz? hz? А кГц? А герц? А Հերց? Как я узнаю что оно не распарсило? Как я узнаю какие значения можно вводить? Что если я введу сразу две единицы (в результате того же копипаста)? И т.д.

Можно было бы сделать единицу нередактируемой (и тогда нужно рисовать её серым чтобы явно это показать), но нередактируемое значение в редактируемом поле это безграмотный дизайн в силу как бессмысленности, так и неудобства с невлезанием всего значения в поле.

Остаётся первый вариант - никакой неоднозначности, полная наглядность того что и в каких единицах введено, отсутствие проблем с парсингом (проще код, проще пользователю, т.к. не нужно гадать что можно вводить и исправлять неправильно введённое).

slovazap ★★★★★
()
Ответ на: комментарий от sudopacman

Но если можно внутри полей ввода единицы выровнять по правому краю и выделить бледным цветом, то так будет лучше всего.

sudopacman ★★★★★
()

Первый, выравнивание по правому краю.

theNamelessOne ★★★★★
()

Поясню, почему 3-й вариант предпочтительнее. Вначале человек смотрит что за физ. величина, потом ед. изм., потом выбирает уэе конкретное значение. В самом поле ничего кроме цифр быть не должно, особенно если там можно будет вбивать произвольное число, а не просто выбор из списка.

WerNA ★★★★★
()

2 с автоматическим преобразованием приставок СИ.

BceM_IIpuBeT ★★☆☆☆
()
Последнее исправление: BceM_IIpuBeT (всего исправлений: 2)
Ответ на: комментарий от Nervous

Это то, чем ты постоянно занимаешься на лоре.

У тебя болит?

Napilnik ★★★★★
()
Ответ на: комментарий от Napilnik

Зы. Аналинг тиме, это что?

Продолжительность отжЫга, вроде как.

s3rjke
() автор топика

первый, но выравнивание в счетчике наоборот делай.

peregrine ★★★★★
()
Ответ на: комментарий от slovazap

Второй вариант не имеет права на жизнь если единицу измерения можно редактировать.

имеет, но парсер для проверки будет ужасным + придется все события изменения ловить. Не везде это можно нормально сделать.

peregrine ★★★★★
()
Ответ на: комментарий от slovazap

Далее, распарсит ли оно mHz? hz? А кГц? А герц? А Հերց?

Это обычный Qtшный QSpinBox со строкой в suffix. Ничего оно не парсит, просто вставит цифры, сверившись с допустимым диапазоном.

Suigintou ★★★★★
()

Понравился var2 и var1. Var3 не понравился совсем.

KivApple ★★★★★
()

Касаемо 2-го варианта: единицу измерения редактировать никак нельзя, только число.

На форме используются стандартные Qt-шные классы: QSpinBox, QDoubleSpinBox.

s3rjke
() автор топика

Я за 2 и 3 варианты. Но 2 только если он поддерживает правку приставок

sehellion ★★★★★
()

второй лучший, причем с отрывом

dikiy ★★☆☆☆
()
Ответ на: комментарий от unC0Rr

Реализовать словарь всех известных единиц измерения на всех существующих языках и корректный парсинг этого это немного сложнее чем переопределить пару функций.

slovazap ★★★★★
()
Последнее исправление: slovazap (всего исправлений: 1)
Ответ на: комментарий от slovazap

Реализация словаря - это другое дело. А прикрутить его к стандартному контролу просто. Да и реализовать словарь просто, всего лишь нужен список единиц с соответствующими коэффициентами.

unC0Rr ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.