Pull to refresh

Qt4: Интересные и приятные виджеты. Часть 1

Reading time 3 min
Views 7.4K
Qt4 — один из самых популярных GUI инструментариев, на котором можно создавать всё что душе угодно. В каждой программе, в которой используется в качестве графического интерфейса средства Qt4, имеется набор пользовательских виджетов. Пользовательские — означает, что программист модифицирует стандартный класс Qt4, создавая при этом чаще всего уникальный виджет. Правила хорошего программирования заставляют разработчиков создавать виджеты независимые от ситуации, где они используются. Поэтому можно использовать один раз написанный класс в нескольких программах.

image

Предлагаю Вашему вниманию некоторые написанные мной и другими членами организации Vialinx виджеты, которые я использовал в программах.


Заголовок меню (сделал Liksys и Assuri)


Возможно, Вы видели какое меню у всех программ KDE в системном лотке. Обратите внимание на его заголовок. Я когда-то очень сильно заинтерисовался этим заголовком и не понимал как его можно реализовать. Мой хороший знакомый нашёл в исходных текстах KDE искомый участок кода и я создал класс «Menu», в котором возможно размещение подобного заголовка.
image image
На скриншотах заголовки отличаются только из-за используемых версий Qt программами.

Скачать исходные тексты меню

Боковая панель программы (сделал Assuri)


Обратите внимание на левый бок программы.
image
Виджеты, которые могут распологаться на панели могут быть абсолютно разными, главное, чтобы они были производными класса QWidget. Также можно менять положение этой панельки: верх, низ, слева или справа. Класс ещё не до конца доработан, но основа уже реализована.

Скачать исходные тексты боковой панели

Диалог настроек и кнопка с показом и выбором цвета (cделал Assuri)


Почти в каждой серьёзное программе есть свои настройки и их количество нельзя уместить в меню, поэтому приходится создавать диалог настроек. По сути, настройки — это самая мало-используемая часть любой программы, ведь когда пользователь настроил под себя систему, он наврятли будет делать это снова. По крайней мере редко. Но я считаю, что если пользователь туда заходит хоть раз, то там уже должно быть всё красиво и понятно. Мне нравится диалог настройки FireFox, так как вкладки содержат не только текст, но и иконки, а изображения, как известно, быстрее воспринимаются и запоминаются, чем текст. По крайней мере так считают дизайнеры из TurboMilk. Я попытался воссоздать интерфейс диалога настроек FireFox на Qt и вот что получилось:
image
Я создал класс TabsView, которые обеспечивает подобный вид табов. Конечно, здесь тоже есть над чем работать и я продолжу его разработку.

Скачать исходные тексты TabsView
Скачать исходные тексты кнопки с цветом

Навигация в QTextBrowser (сделал Liksys)


Один из моих самый любимых виджетов, позволяющий создавать плавающий поверх QTextBrowser набор действий. Действия могут быть совершенно разные. Но, чаще всего, используется они для навигации.
image
Естественно, возможно изменение расположения виджета, добавление различных действий и т.п.

Скачать исходные тексты навигации в QTextBrowser

В дальнешем я буду выкладывать новые созданные мной виджеты — это была только первая часть. Любой желающий выложить свои виджеты может продолжить данную тему и назвать свой топик так же, но с частью 2,3,4...N.

P.S.


Я бы хотел призвать всех разработчиков GUI интерфейсов создавать независимые виджеты, чтобы другие разработчики не делали двойную работу. А также не думайте, что пользователям понравится Ваша программа, если у неё абсолютно не продуманный интерфейс, пусть даже очень полезный функционал. Им сразу захочется найти замену Вашей программе. Это я говорю не как разработчик, а как рядовой пользователь, который основывается на своём опыте.

Думаю, что Qt достойно того, чтобы иметь свой личный блог или хотя бы быть частью блога «GUI тулкиты». Предлагаю создать блог «Qt Software».

Спасибо за внимание

Tags:
Hubs:
+64
Comments 20
Comments Comments 20

Articles