Russian Qt Forum
Июнь 16, 2024, 10:45 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: 1 2 [3] 4   Вниз
  Печать  
Автор Тема: Два диапазона значений в DoubleSpinBox  (Прочитано 19210 раз)
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #30 : Январь 16, 2012, 17:41 »

Подсветить красненьким фоном строку ввода?
и не забыть отключить кнопочку Ok/Save/...
Ну пользователь пока не сделал ничего плохого, он просто вводит цифра за цифрой, зачем же сразу "мигать лампочками"? Улыбающийся Ну и подсветили, дальше что?  Найти [0.003, 0.08] "методом втыка" затруднительно, диалог все равно делать придется.

Вот кстати я набираю этот пост, работает проверка правописания. Набираю неверное слово - ничего пока не происходит. "Ушел" со слова каким-то образом (пробел или курсором) - оно подсветилось
Записан
BRE
Гость
« Ответ #31 : Январь 16, 2012, 17:44 »

Вот кстати я набираю этот пост, работает проверка правописания. Набираю неверное слово - ничего пока не происходит. "Ушел" со слова каким-то образом (пробел или курсором) - оно подсветилось
А диалог он тебе сам открывает, слова поменять предлагает?
« Последнее редактирование: Январь 16, 2012, 17:54 от BRE » Записан
andrew.k
Гость
« Ответ #32 : Январь 16, 2012, 17:52 »

Igors и BRE, как вам мой вариант интерфейса?)
Записан
BRE
Гость
« Ответ #33 : Январь 16, 2012, 18:03 »

Igors и BRE, как вам мой вариант интерфейса?)
Нормально. Визуально проще сориентироваться в происходящем, но размером он не мал. Улыбающийся
По мне, так ToolTip с информацией будет достаточно.
Или подсвечивать строку с неверным значением другим цветом и показывать информационную строку (рядом с подсвеченной строкой или внизу диалога) с описанием проблемы и валидных диапазонов. Такая строка может быть одна - если проблем нет, то она пустая, если где-то проблемы, то с описанием первой и рекомендациями по исправлению. И Ok выключать.

За открывающиеся диалоги в процессе ввода значения, да еще и с каким нибудь громким "Бам"...  постараться запомнить фамилии девелоперов и никогда не устанавливать их программы, они вас ненавидят. Улыбающийся
« Последнее редактирование: Январь 16, 2012, 18:34 от BRE » Записан
andrew.k
Гость
« Ответ #34 : Январь 16, 2012, 18:09 »

Igors и BRE, как вам мой вариант интерфейса?)
Нормально. Визуально проще сориентироваться в происходящем, но размером он не мал. Улыбающийся
По мне, так ToolTip с информацией будет достаточно.

За открывающиеся диалоги в процессе ввода значения, да еще и с каким нибудь громким "Бам"...  постараться запомнить фамилии девелоперов и никогда не устанавливать их программы, они вас ненавидят. Улыбающийся
Я не предлагал на редактирование значения отдельный диалог фигачить. размеры можно изменить.
Главное идея принципиально другая.
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #35 : Январь 16, 2012, 19:31 »

А диалог он тебе сам открывает, слова поменять предлагает?
Так ведь "верное слово" неизвестно, значит нечего предлагать. А вот с цифровым значением - другое дело

Igors и BRE, как вам мой вариант интерфейса?)
Ну "Set Default" совсем не помешало бы. Если же 2 диапазона (первоисточник), то нужны еще опции. Часто просто не удастся все это вместить в "общее UI", даже средней насыщенности. Ничего плохого в отдельном диалоге нет, нужно только чтобы он не раздражал пользователя, это решаемо.

Типичный ход мысли заказчика: "Программа рассчитана не на человека с улицы а на того кто владеет вопросом и знает хотя бы порядок вводимых чисел. Поэтому просто напомните/поправьте если ввод ошибочен, а раздувать/расписывать здесь нечего"

Это нормальный подход и спорить с заказчиком здесь нечего, тем более доказывать что "Вы не понимаете! Согласно принципам human interface guideness".. и.т.п.  Улыбающийся
Записан
BRE
Гость
« Ответ #36 : Январь 16, 2012, 19:44 »

Так ведь "верное слово" неизвестно, значит нечего предлагать. А вот с цифровым значением - другое дело
Что значит не известно, а если ты правую кнопку на подчеркнутом слове нажмешь, то он тебе правильные (по его мнению) варианты предложит. Так что он мог бы открыть диалог и предложить тебе выбрать варианты из списка или добавить слова в словарь или потренировать грамматику или ...
Но он это не делает. Значит тебе повезло и ты пользуешься программой, авторы которой тебя уважают. Улыбающийся

Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #37 : Январь 16, 2012, 20:38 »

Так что он мог бы открыть диалог и предложить тебе выбрать варианты из списка или добавить слова в словарь или потренировать грамматику или ...
Но он это не делает.
Не делает потому что ситуация позволяет, здесь могу и сидеть с красным словом. А вот например немодальный диалог, пользователь ввел число и ушел. Что должно происходить? Требовать чтобы обязательно нажимал Enter - мол, тогда ввод закончен. Ну можно конечно, но это коряво. Нормально по истечении какого-то времени принять валидное значение (и возможно начать по нему что-то делать) или же выдвигаться с диалогом ошибки и (пространными) объяснениями.
Записан
BRE
Гость
« Ответ #38 : Январь 16, 2012, 20:49 »

Требовать чтобы обязательно нажимал Enter - мол, тогда ввод закончен. Ну можно конечно, но это коряво. Нормально по истечении какого-то времени принять валидное значение (и возможно начать по нему что-то делать) или же выдвигаться с диалогом ошибки и (пространными) объяснениями.
Коряво? А начать что то делать самой, без ведома пользователя, что-то там приняв... А если пользователь цифру одну не успел вбить, а значение все равно получилось валидное, будет использовать его. Улыбающийся
Программа что-то должна делать только по команде пользователя (кнопочку он должен нажать), а если что-то не готово, то эта кнопочка должна быть disable.

Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #39 : Январь 16, 2012, 21:29 »

Коряво? А начать что то делать самой, без ведома пользователя, что-то там приняв... А если пользователь цифру одну не успел вбить, а значение все равно получилось валидное, будет использовать его. Улыбающийся
А у него было достаточно времени (отсчитывая с последнего нажатия). Ладно, допустим даже он нажал Enter или Tab, все равно отлуп на невалидное значение надо давать, все равно диалог есть. Тогда зачем возиться с подсветкой (что обычно не так уж просто)?

Программа что-то должна делать только по команде пользователя (кнопочку он должен нажать), а если что-то не готово, то эта кнопочка должна быть disable.
Допустим забыл/не знал  что [0.003, 0.08]. Ввел 1. Подсветилось красным, (ага, неверно), и кнопка Ok задизаблена (не готово). И что ему теперь делать? Улыбающийся Так или иначе все сводится к диалогу ошибки
Записан
__Heaven__
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2130



Просмотр профиля
« Ответ #40 : Январь 16, 2012, 21:30 »

andrew.k, классная идея Улыбающийся
Ну, правда, я, всё-таки, решил поставить диапозон без дырки и, если пользователь вводит число, что находится в этой дырке, то ругаться либо при выходе из окошка ввода, либо при тыкании кнопки расчёта.
Записан
andrew.k
Гость
« Ответ #41 : Январь 16, 2012, 21:35 »

andrew.k, классная идея Улыбающийся
Ну, правда, я, всё-таки, решил поставить диапозон без дырки и, если пользователь вводит число, что находится в этой дырке, то ругаться либо при выходе из окошка ввода, либо при тыкании кнопки расчёта.
Реализовать подобный интерфейс совсем не сложно. Мне потребовалось 5 минут на эскиз. Довести до ума чуть.
Уж лучше тогда валидаторы с хинтом, чем так мучить пользователя.
Записан
BRE
Гость
« Ответ #42 : Январь 16, 2012, 21:42 »

Допустим забыл/не знал  что [0.003, 0.08]. Ввел 1. Подсветилось красным, (ага, неверно), и кнопка Ok задизаблена (не готово). И что ему теперь делать? Улыбающийся Так или иначе все сводится к диалогу ошибки
А ты почитай чуть выше, я писал как можно информировать пользователя не открывая диалогов (что сильно отвлекает пользователей, а некоторых так просто злит). Улыбающийся
Записан
Igors
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 11445


Просмотр профиля
« Ответ #43 : Январь 16, 2012, 22:15 »

А ты почитай чуть выше, я писал как можно информировать пользователя не открывая диалогов (что сильно отвлекает пользователей, а некоторых так просто злит). Улыбающийся
Полагаю что имеется ввиду это

По мне, так ToolTip с информацией будет достаточно.
Или подсвечивать строку с неверным значением другим цветом и показывать информационную строку (рядом с подсвеченной строкой или внизу диалога) с описанием проблемы и валидных диапазонов. Такая строка может быть одна - если проблем нет, то она пустая, если где-то проблемы, то с описанием первой и рекомендациями по исправлению. И Ok выключать.
Разумно, но возможностей маловато, в строку много не вставишь. Напр красивый слайдер (что нарисовал Андрюша) - пролетает. Часто желательны кнопки Set (min/max/default) и.т.п. С Ок тоже непонятно - если он выкл, значит Enter не имеет эффекта. И как (по какому условию) тогда должен активироваться текст ошибки?
Записан
BRE
Гость
« Ответ #44 : Январь 16, 2012, 22:23 »

Напр красивый слайдер (что нарисовал Андрюша) - пролетает.
Как бэ он не нуждается в индикации ошибки, он для этого и делался.

Часто желательны кнопки Set (min/max/default) и.т.п.
Кому желательна?

С Ок тоже непонятно - если он выкл, значит Enter не имеет эффекта. И как (по какому условию) тогда должен активироваться текст ошибки?
По сигналу textChanged от редактора, проверили что ввели, если плохо, то подсветили редактор, написали ошибку в строку статуса, заблокировали Ok. А если все хорошо, то наоборот. Улыбающийся
Записан
Страниц: 1 2 [3] 4   Вверх
  Печать  
 
Перейти в:  


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