![]() |
|
|
![]()
|
|
| ecspertiza |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
вообщем хочу создать вот такой класс
http://pic.ipicture.ru/uploads/081127/PUUSs4SSwG.jpg из базы на него грузятся картинки, по клику на левую или правую кнопку, происхоби переход по картинкам, кнопки я думаю будут наследованны от QLabel, т.к я их нарисую и засуну их в QLabel, пока проблема такая, немогу повесить на класс созданный от QLabel сигнал clicked(), делаю так line.cpp
line.h
как сделаю сей класс обязуюсь выложить исходника |
||||
|
|||||
| Elfebet |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
ну дык чтоб сигнал работал нужно его емитировать
например в класс LeftButton добавляеш
в cpp файле
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||
|
|||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Мне кажется, что тут несколько иначе надо сделать. Замучаешься кликать по стрелочкам, чтобы прокрутить картинки. Надо как-то эмитить сигнал периодически пока зажата клавиша мышки. Еще было бы хорошо повесить сигналы на клавиши Left/Right, чтобы можно было крутить полоску туда сюда с помощью клавы. Home/End - начало, конец списка. Tab - прокрутить до следующего элемента и сделать его активным. И совсем отлично было бы повесить mouse wheel (колесико мышки) на прокрутку. А для прокрутки использовать QWidget::scroll(), чтобы не по-элементно.
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Продолжаю создовати ентот класс.
Значитцо так создаю виджет на нём левую, и правую кнопку, между ними центральный Виджет, на катором собственно и будут картинки, только вот количество картинок динамическое, пока описание класса картинки выгледит так
вопрос в том как создать денамический массив класса Image? |
|||
|
||||
| Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
QList
Добавлено @ 13:48 типа такого
Это сообщение отредактировал(а) Elfebet - 28.11.2008, 13:49 -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 7 Всего: 250 |
если с использованием new, то QList<Image*> * lstImage = new QList<Image*>; Это сообщение отредактировал(а) mes - 28.11.2008, 13:53 |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Если я правильно понял то вот так
что то мне кажется что немногу подругому. |
|||
|
||||
| Elfebet |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
можно еще Векторы юзать
или
кароче вариантов много, лучше юзай QList Это сообщение отредактировал(а) Elfebet - 28.11.2008, 14:03 -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||||
|
|||||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
ЗАРАБОТАЛО!!!! Elfebet спасиб, буду дальше ковырять.
|
|||
|
||||
| ecspertiza |
|
||||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Почти готово, а вот про ету тему где можно почитать? Хочу повесить события на скрол, и если кнопка зажата. |
||||||
|
|||||||
| Elfebet |
|
||||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
в документации "Signals and Slots"
нифига не понял, какое событие? у тя что при прокручивании виджет НЕ прокручиваеться? подружись с ассистентом, там все написано - что зачем и как, лучше документации тебе никто не ответит Это сообщение отредактировал(а) Elfebet - 28.11.2008, 16:18 -------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
||||
|
|||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Ну вообщем вот получилась вот такая беда(в атаче), там есть процедура addImage, вот после её использования я думаю надо какойто update проводить, так как картинки создаются только при создании Виджета. Ну и вообще мож кто подскажет что подправить нужно, а то я в етом деле недавно.
Присоединённый файл ( Кол-во скачиваний: 7 )
src.rar 1,02 Kb |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А ты случаем не класс для этого эвента кодишь ? http://trolltech.com/developer/pimp-my-wid...veloper-contest
http://trolltech.com/images/developerzone/list.PNG А то глядишь сигвей выйграешь ;) |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Вообще нет я для проги своей
|
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
Ну вот така тема вышла, треба объективная критика
Присоединённый файл ( Кол-во скачиваний: 9 )
LineWidget.zip 788,39 Kb |
|||
|
||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
SABROG, если хошь можешь выложить код у тролей, а то у мя видео нету и с английским не очень
|
|||
|
||||
| SABROG |
|
||||||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Не могу собрать. Походу у тебя Qt статически собран и прога под статику заточена.
-- В общем пришлось указать полный путь к plugins\imageformats в .pro файле и закомментить эти строки, чтобы собрать с динамическим плагином:
Т.е. надо доработать исходники и .pro файл через всякие #ifdef, чтобы билдинг мог быть с разными версиями Qt (static и shared). Кнопочки скроллинга смотрятся немного убого из-за несовпадения фона формы. Имхо надо добавить фреймы для картинок, фокусинг, увеличить скорость прокрутки, автоподгонку размера контрола по максимальной высоте одной из картинок и сделать mouse wheel и неплохо было бы добавить Mouse Drag, т.е. когда ты не просто щелкнул по картинке, а начал мышу двигать, чтобы полоска вместе с мышой скроллилась (доп.фича - автопродолжение движения с угасанием в зависимости от скорости рывка мышки). Про клавиатурные клавишы тоже не забыть: left,right,home,end,pgup,pgdown. Подписи к картинкам снизу/сверху/на картинке. Всплывающие ToolTips с подписями или комментариями. Добавить поддержку всплывающих контекстных меню по правой кнопке мышки. Режимы отображения: горизонтальный, вертикальный (плюс спец. режим прокрутки построчно). Добавить поддержку больших форматов картинок. Флаги, чтобы можно было перетасовывать картинки, Drag&Drop. Свойство-флаг для всплывающего окна предпросмотра при долгом удержании мышки на картинке (альтернативный вариант как Rocket Deck или панель MacOS'a). Удаление картинок через клавишу Delete. Вставка через Insert. Плавающий компонент как ToolBar (т.е. автовыбор горизонтальный/вертикальный стиль). Вдогонку сделать его в качестве плагина для QDesigner'a. Сами кнопочки лучше динамически рисовать, если не используются стили. Доработать контрол для всех возможных стилей Qt, чтобы смотрелось гармонично. При достижении конца списка - кнопку прокрутки делать неактивной дотех пор, пока прокрутка не пойдет обратно. Или еще круче при достижении конца списка - на кнопке "Вправо"/"Влево" меняется стрелка на "Лево"/"Вправо", при первом клике - прокрутка идет в обратном направлении, при отпускании - значении кнопки и картинка возвращяется в исходное состояние (типа оптимизация, не надо мышиный курсор уводить). И доп режим - циклическая прокрутка (по кругу). Тут может быть утечка памяти. Может быть сделать метод типа clear() и еще метод типа removeImage() ?
Видео положил на Ютуб: http://www.youtube.com/watch?v=JnvuCW_yQYs В целом неплохо получилось. Это сообщение отредактировал(а) SABROG - 8.12.2008, 14:00 |
||||||||
|
|||||||||
| ecspertiza |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 763 Регистрация: 3.11.2008 Где: г.Смоленск Репутация: 4 Всего: 5 |
За видео на Yourtube спасибо, как думаешь что в Describe Your Entry написать, у мя с детства с описанием проблема.
|
|||
|
||||
| SABROG |
|
||||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
Напиши что-нибудь типа:
Правда я сам не силен в английском, но думаю тебя вполне поймут. |
||||
|
|||||
| Elfebet |
|
|||
![]() Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 545 Регистрация: 15.5.2006 Где: Украина. Запорожь е. Репутация: 5 Всего: 14 |
посмотрел на ютубе - неплохо
типа сделать такого метода
-------------------- Программист не должен всё знать... он должен знать где можно посмотреть |
|||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, QT/Gtk+/wxWidgets" | |
|
|
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, Любитель. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | С/С++: Кроссплатформенное программирование, Qt/Gtk+/wxWidgets | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |