![]() |
Здравствуйте, гость ( Вход | Регистрация )
![]() ![]() |
![]() |
RazrFalcon |
![]()
Сообщение
#31
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Алексей1153, что значит показать, у меня обычно они так видны (все что я таким способом создавал), а при setVisible/show просто отдельный виджет появляется с graphicsViev. Циклом твои тоже ничего не видно, хотя компилит. Спасибо за цикл кстати.
Litkevich Yuriy, ну их создается ровно столько сколько нужно, циклом, так что лишних нет. я же писал, что то типа раскадровки гиф/видео, там же их будет 1000-чи... Сообщение отредактировал RazrFalcon - 12.8.2010, 22:33 |
|
|
Алексей1153 |
![]()
Сообщение
#32
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
RazrFalcon, ну, предположим, он видим. Но ты указатель на родительский виджет не передаёшь
Цитата new QGraphicsView(); может, тут сябака порылась? ) что то типа раскадровки гиф/видео, там же их будет 1000-чи... достаточно столько вьюх, сколько влезет на экран. Остальное - организовать "логическое окно" просмотра (вроде как цепь протягивают в трубе, а в трубе есть 5 отверстий - видно одновременно 5 кадров-звеньев) |
|
|
RazrFalcon |
![]()
Сообщение
#33
|
![]() Zombie Mod ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1654 Регистрация: 24.5.2010 Из: Харьков Пользователь №: 1752 Спасибо сказали: 64 раз(а) Репутация: ![]() ![]() ![]() |
Алексей1153, спасибо за идею попробую ограничится только влезшими на экран.
Спасибо всем, все работает. Создаем: Изменяем:
PS (this) помог, я как то раньше не обращал внимания. PSS еще б с этим разобраться =) Сообщение отредактировал RazrFalcon - 12.8.2010, 23:18 |
|
|
Алексей1153 |
![]()
Сообщение
#34
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
RazrFalcon, ещё два момента:
1) поскольку QList<QGraphicsView *> list предположительно - член класса, то перед циклом заполнения не забывай проверить, сколько элементов уже есть в списке. Не забывай также удалить через delete (как вариант, можно сделать оболочку для указателя, чтобы не приходилось вызывать delete вручную - щас приведу ниже) Раскрывающийся текст
теперь, если изменение размера вектора влечёт за собой удаление элементов, delete вызовется автоматом 2)число 10 - это от балды. Тут следует сделать динамическую прикидку количества вьюх Сообщение отредактировал Алексей1153 - 13.8.2010, 20:32 |
|
|
BRE |
![]()
Сообщение
#35
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
Алексей1153, для чего столько всего в деструкторе?
![]()
достаточно просто:
По стандарту delete умеет работать с 0-указателями, он их проверяет и ничего не удаляет. Зануление указателя в деструкторе тоже бессмыслено, сразу после этого объект все равно разрушиться. |
|
|
Алексей1153 |
![]()
Сообщение
#36
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
BRE, проверка if(m_p) здесь обязательна: смотри работу operator=
![]() ну а обнуление висячего указателя - это просто полезная привычка Сообщение отредактировал Алексей1153 - 13.8.2010, 8:06 |
|
|
BRE |
![]()
Сообщение
#37
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
BRE, проверка if(m_p) здесь обязательна: смотри работу operator= ![]() В деструкторе, перед delete? А для чего? ![]() ну а обнуление висячего указателя - это просто полезная привычка Самая полезная привычка в программировании это постоянно думать что делаешь, а не полагаться на автоматизм. |
|
|
Алексей1153 |
![]()
Сообщение
#38
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
перед delete именно перед ним ![]() Ну а думать - это всегда пожалуйста, работа такая )) Но некоторые вещи отработаны до автоматизЬма - это экономит время и сокращает глюки (и колическтво разъярённых клиентов) Поэтому, если так сильно хочется, можно и удалить "лишний код", но это бессмысленно - на быстродействии это не скажется всё равно |
|
|
BRE |
![]()
Сообщение
#39
|
![]() Профессионал ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 1112 Регистрация: 6.3.2009 Из: Ростов-на-Дону Пользователь №: 591 Спасибо сказали: 264 раз(а) Репутация: ![]() ![]() ![]() |
именно перед ним ![]() Именно перед ним эта проверка абсолютно бессмысленна. Какие грабли? А если люди переопределяют delete, то делают эту проверку первой. Как-то странно забыть ее сделать в delete и не забывать ее делать во всех остальных местах. ![]() |
|
|
Алексей1153 |
![]()
Сообщение
#40
|
![]() фрилансер ![]() ![]() ![]() ![]() ![]() ![]() Группа: Участник Сообщений: 2941 Регистрация: 19.6.2010 Из: Обливион Пользователь №: 1822 Спасибо сказали: 215 раз(а) Репутация: ![]() ![]() ![]() |
Хорошо, пусть будет так:
![]() |
|
|
![]() ![]() ![]() |
![]() |
Текстовая версия | Сейчас: 19.2.2025, 1:50 |