Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: fuCtor от Октябрь 06, 2011, 13:26



Название: Список aля Firefox
Отправлено: fuCtor от Октябрь 06, 2011, 13:26
Уверен что все видели список дополнений/тем/плагинов в Firefox:

(http://h1813090.stratoserver.net/files/share/6_10_2011/6UN4eo9NNkCtzbK2rHQdA.jpg)

Как такое сделать в принципе знаю, НО возникает проблема как реализовать ссылки (чтобы они были кликабельными и подсвечивались при наведении).
С кнопками и сообщение и том что нужна перезагрузка все понятно.
Если руководство не будет против, то результатом поделюсь с народом в дальнейшем =)


Название: Re: Список aля Firefox
Отправлено: Пантер от Октябрь 06, 2011, 13:29
Для ссылки используй QLabel.


Название: Re: Список aля Firefox
Отправлено: fuCtor от Октябрь 06, 2011, 18:59
Весь список делаю на основе QListView. Данные данные лежат в модели. Поверх всего этого делегат, который рисует кнопки, иконки, надписи и тд. Плодить кучу экземпляров виджета не хочется. Как вариант посмотреть как рисуется и работает QLabel и часть кода позаимствовать оттуда  ???


Название: Re: Список aля Firefox
Отправлено: lit-uriy от Октябрь 06, 2011, 21:59
>>Плодить кучу экземпляров виджета не хочется
про какой виджет речь, не понятно.


Название: Re: Список aля Firefox
Отправлено: fuCtor от Октябрь 07, 2011, 06:28
>>Плодить кучу экземпляров виджета не хочется
про какой виджет речь, не понятно.

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

Текущий вариант:
(http://h1813090.stratoserver.net/files/share/7_10_2011/U4e0WJ4YhE2A6Qph4Lczgw.jpg)


Название: Re: Список aля Firefox
Отправлено: Fess от Октябрь 07, 2011, 13:59
Не вижу очень большой проблемы в увеличении количества виджетов.
Строк в любом случае будет не многие сотни, а максимум пара десятков...
...если я правильно понял use case такого списка, разумеется.


Название: Re: Список aля Firefox
Отправлено: lit-uriy от Октябрь 07, 2011, 18:10
>>Весь список делаю на основе QListView. Данные данные лежат в модели.
>>Поверх всего этого делегат, который рисует кнопки, иконки, надписи и тд.

Делегат один, соответственно никого плодить руками не надо, представление этим само займётся. И неважно насколько сложен делегат.


Название: Re: Список aля Firefox
Отправлено: fuCtor от Октябрь 08, 2011, 11:53
>>Весь список делаю на основе QListView. Данные данные лежат в модели.
>>Поверх всего этого делегат, который рисует кнопки, иконки, надписи и тд.

Делегат один, соответственно никого плодить руками не надо, представление этим само займётся. И неважно насколько сложен делегат.

Имеете ввиду Persistent Editor?

Не вижу очень большой проблемы в увеличении количества виджетов.
Строк в любом случае будет не многие сотни, а максимум пара десятков...
...если я правильно понял use case такого списка, разумеется.
Проблема не в количестве строк, а то что не хочется плодить в памяти объекты + сложнее сделать привязку с модели ну и все вытекающие отсюда плюшки в виде сортировок, фильтрации и тд.


Название: Re: Список aля Firefox
Отправлено: lit-uriy от Октябрь 08, 2011, 16:33
>>Имеете ввиду Persistent Editor?
нет, делегат. О виджете-редакторе речь в теме не шла


Название: Re: Список aля Firefox
Отправлено: fuCtor от Октябрь 10, 2011, 13:37
Все получилось как хотел =)
(http://h1813090.stratoserver.net/files/share/10_10_2011/V0ooGPdzUa44MDB6x3Kzg.jpg)

В итоге все рисуется в делегате, там же обрабатывается и контролируется.


Название: Re: Список aля Firefox
Отправлено: arhohryakov от Октябрь 12, 2011, 14:52
Не выложите исходничек, поглядеть ;)


Название: Re: Список aля Firefox
Отправлено: Bepec от Октябрь 12, 2011, 15:46
Присоединяюсь к просьбе. Разобрать такой плагин оч. интересно будет :)


Название: Re: Список aля Firefox
Отправлено: Авварон от Октябрь 25, 2011, 19:24
Что с сырцами?


Название: Re: Список aля Firefox
Отправлено: fuCtor от Декабрь 18, 2011, 12:20
Извиняюсь за такую бооольшую задержку  ::)
Описание http://habrahabr.ru/blogs/qt_software/134802/
и собственно сырки http://dl.dropbox.com/u/587551/FireList.zip

В комплекте рабочая демка и примеры элементов списка.

Замечания предложения и тп приветствуются :)

Код местами не до форматированный, т.к. вырезал из рабочего проекта и удалял лишние части.


Название: Re: Список aля Firefox
Отправлено: Авварон от Декабрь 18, 2011, 14:35
Забавно, у меня этот пост не попал в rss хабра. Бага?

А нет ли у вас инвайта на хабр?:)


Название: Re: Список aля Firefox
Отправлено: Авварон от Декабрь 18, 2011, 14:47
На маке кнопки не рисуются в ненажатом состоянии (только текст от них). При нажатии паявляется нажатая кнопка (синяя), при отпускании о5 остается только текст.


Название: Re: Список aля Firefox
Отправлено: fuCtor от Декабрь 18, 2011, 14:55
Один есть =) регистрация там открытая, но статус Read-only.
Пиши статью в песочницу и если что поделюсь :)
За кнопки спасибо, не проверял на маке, только на винде.


Название: Re: Список aля Firefox
Отправлено: iroln от Декабрь 18, 2011, 18:03
Почему бы код не положить на bitbucket, github или google code? Лицензия не позволяет? :)


Название: Re: Список aля Firefox
Отправлено: fuCtor от Декабрь 19, 2011, 06:12
Лицензия AS IS =)
Не вижу смысла выкладывать на на названные ресурсы, код не является абсолютно готовым к использованию (в том плане что заточен был под конкретные нужды), да и на Хабре указали на недостатки реализации, так что есть еще куда править его :).