Russian Qt Forum
Ноябрь 24, 2024, 09:43 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

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

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] расположение элементов в диалоге поиска  (Прочитано 5666 раз)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« : Январь 13, 2012, 16:33 »

Здравствуйте. Я набросал 2 варианта диалога поиска (см. скрины):
  • в первом размеры диалога будут фиксированы
  • во втором диалог можно тянуть по горизонтали (может уберу групбокс)

Может есть варианты получше? На всякий случай прикрепил сам файл формы если кому-то захочется поиграться в дизайнере..
« Последнее редактирование: Январь 14, 2012, 16:06 от kambala » Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



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

Как минимум:
* Использовать вместо QLineEdit QComboBox, чтобы хранить историю
* Добавить кнопку "Close"
* Добавить кнопку "Automatically wrap around"
* Почему нельзя "тянуть по горизонтали" 1-й вариант?
* 2-й вариант смотрится убого
Записан

Qt 5.11/4.8.7 (X11/Win)
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #2 : Январь 13, 2012, 17:03 »

спасибо за критику.
* Использовать вместо QLineEdit QComboBox, чтобы хранить историю
учту
* Добавить кнопку "Close"
не совсем понимаю зачем - есть крестик и есть ескейп
* Добавить кнопку "Automatically wrap around"
это для того, чтоб поиск переходил к первому элементу после последнего?
* Почему нельзя "тянуть по горизонтали" 1-й вариант?
теряется симметричность чекбоксов и центральная кнопка растягивается быстрее всех. может это как-то можно настроить кодом? там используется просто компоновка по сетке.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
andrew.k
Гость
« Ответ #3 : Январь 13, 2012, 17:05 »

next и previous местами поменять. А то с ума сойдешь)
Записан
andrew.k
Гость
« Ответ #4 : Январь 13, 2012, 17:06 »

а я бы кнопки справа разместил, а чекбоксы под строкой поиска.
Записан
GreatSnake
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 2921



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

* Добавить кнопку "Close"
не совсем понимаю зачем - есть крестик и есть ескейп
Стандартные интерфейсы придуманы давно и не нами. В диалоге такая кнопка должна быть.
Записан

Qt 5.11/4.8.7 (X11/Win)
iroln
Гость
« Ответ #6 : Январь 13, 2012, 17:52 »

Когда-то я даже писал эссе по поводу оптимального диалога поиска и сравнения юзабилити поиска в различных программах. Улыбающийся
У меня получилось нечто такое (но сейчас я бы сделал просто панель с инкрементальным поиском как в Sublime Text):
Записан
mutineer
Гость
« Ответ #7 : Январь 13, 2012, 17:57 »

теряется симметричность чекбоксов и центральная кнопка растягивается быстрее всех. может это как-то можно настроить кодом? там используется просто компоновка по сетке.

Конечно можно
void QBoxLayout::addWidget ( QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0 )
второй параметр тебе поможет
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #8 : Январь 13, 2012, 18:49 »

next и previous местами поменять. А то с ума сойдешь)
хм, почему? по-моему поиск вперед как раз должен находиться с краю формы.
* Добавить кнопку "Close"
не совсем понимаю зачем - есть крестик и есть ескейп
Стандартные интерфейсы придуманы давно и не нами. В диалоге такая кнопка должна быть.
спасибо, буду знать
Когда-то я даже писал эссе по поводу оптимального диалога поиска и сравнения юзабилити поиска в различных программах. Улыбающийся
У меня получилось нечто такое (но сейчас я бы сделал просто панель с инкрементальным поиском как в Sublime Text):
мне нравится получившийся результат (только в гтк что-то текст не повлезал) - сделаю в таком же духе, спасибо. также спасибо за наводку на Sublime Text - думаю может стать достойной заменой TextMate и Notepad++. но его панель поиска в данном случае мне не подходит Улыбающийся

как я понял, wrap around - это поиск с текущего места в документе с переходом в начало документа после достижения конца и продолжения поиска до текущего места. это верно?
теряется симметричность чекбоксов и центральная кнопка растягивается быстрее всех. может это как-то можно настроить кодом? там используется просто компоновка по сетке.

Конечно можно
void QBoxLayout::addWidget ( QWidget * widget, int stretch = 0, Qt::Alignment alignment = 0 )
второй параметр тебе поможет
спасибо, попробую
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
andrew.k
Гость
« Ответ #9 : Январь 13, 2012, 19:07 »

next и previous местами поменять. А то с ума сойдешь)
Потому что в России читают слева направо.
По-моему логично справа - вперед, слева - назад.
Представь что кнопок всего две вперед и назад. Как бы ты их расположил? )
Записан
iroln
Гость
« Ответ #10 : Январь 13, 2012, 19:09 »

...
как я понял, wrap around - это поиск с текущего места в документе с переходом в начало документа после достижения конца и продолжения поиска до текущего места. это верно?
Да, это зацикливание поиска. Если галочка не стоит, поиск от текущей позиции курсора "упирается" в конец или начало страницы (смотрю в какую сторону искать). Галочка полезная, бывает нужно, например для Replace All во всём документе независимо от текущего положения курсора.

Ещё немного комментариев.
Look In - это поле где искать. Поле было специфичным под задачу, поэтому легко может быть убрано.

Две кнопки Next/Previous - это лучшее решение чем одна "Find" и настройка направления. Две кнопки гораздо удобнее (для тех, кто использует мышку, а не клавиатуру).

Я считаю, нет смысла в разделении диалогов Find и Find/Replace, потому что по сути функциональность поиска дублируется в диалоге Replace. Удобнее, когда Replace всегда присутствует в диалоге поиска. Много места это не занимает, внимание не отвлекает и всегда под рукой если понадобится, нет нужды запоминать, какое сочетание клавиш вызывает диалог замены Ctrl+H или Ctrl+R, всё всегда в одном месте вызывается по Ctrl+F. Улыбающийся

Галочка Highlight Results может быть полезна если надо подсветить все найденные результаты на странице. Визуальное отделение всех результатов цветом важно, даёт представление о количестве вхождений в целом. Удобно использовать в связке с галочкой Incremental.

Галочка Incremental - это дань инкрементному поиску, который я считаю (и не только я) более удобным. То есть поиск происходит по мере набора. Удобно использовать в связке с галочкой Highlight Results. Улыбающийся

Кнопки справа удобнее в том плане, что окошко можно смело раздвигать по-горизонтали, при этом получается лучшая группировка кнопок. Это ещё логично с точки зрения нашей письменности слева-направо сверху-вниз. Сначала вводим то что хотим искать, правее нажимаем "Поиск". И кстати рукой с мышкой двигать проще по-горизонтали.

Галочки кстати тоже расставлены по значимости, чем правее и ниже тем меньше значимость.

Кнопка Close - это всегда удобнее чем маленький крестик. Hotkey для неё - естественно Escape. Улыбающийся


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

Для примера, посмотрите на диалог поиска в Notepad++. Это же монстроузно. Улыбающийся
« Последнее редактирование: Январь 13, 2012, 19:24 от iroln » Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



Просмотр профиля WWW
« Ответ #11 : Январь 13, 2012, 21:32 »

ого, такие пространные объяснения Улыбающийся

а есть ли смысл растяжения по вертикали? если да, то все кнопки кроме "закрыть" и поля поиска/замены должны по идее оставаться сверху, а кнопка "закрыть", поле пути поиска и настройки - ездить?

кстати по поводу замены - можно использовать одии и тот же виджет и просто скрывать поле замены и соответствующие кнопки в режиме только поиска.
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
iroln
Гость
« Ответ #12 : Январь 13, 2012, 21:48 »

а есть ли смысл растяжения по вертикали? если да, то все кнопки кроме "закрыть" и поля поиска/замены должны по идее оставаться сверху, а кнопка "закрыть", поле пути поиска и настройки - ездить?
Вообще смысла в вертикальном растяжении я не вижу. И в горизонтальном особо тоже. Улыбающийся

кстати по поводу замены - можно использовать одни и тот же виджет и просто скрывать поле замены и соответствующие кнопки в режиме только поиска.
Так в том и соль, что смысла особого нет скрывать функцию замены. Она кому-то мешает? Создаёт дополнительную сложность. Вряд ли, поэтому не думаю, что так уж надо её прятать. Можно, конечно, скрывать дополнительные функции поиска, например всякие редко-используемые галочки и т.д., но не могу сказать, насколько это будет востребовано.


Записан
andrew.k
Гость
« Ответ #13 : Январь 13, 2012, 22:43 »

Слушай, iroln, можешь скинуть в личку свое эссе.
Мне было бы интересно почитать.
И еще другие работы если есть.

И если не жалко и он не секретные)
Записан
kambala
Джедай : наставник для всех
*******
Offline Offline

Сообщений: 4747



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

получилось вот так, тянется по горизонтали. всем спасибо!
Записан

Изучением C++ вымощена дорога в Qt.

UTF-8 has been around since 1993 and Unicode 2.0 since 1996; if you have created any 8-bit character content since 1996 in anything other than UTF-8, then I hate you. © Matt Gallagher
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


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