![]() |
|
|
![]()
|
|
| SwordOfDeath |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
Привет,
Общая задача: Нужен widget в котором нужно отображать много одинаковых сложных графических элементов, и анимировать движение этих элементов(положение и размер). За незнанием возможностей Qt я решил создават дочерный widget который будет отрисовывать один элемент в зависимости от своих размеров, а внешний будет анимировать движение и размер этих виджетов...(К сожалению я не уверен в эффективности данной архитектуры, может вы подскажите идею получше) И столкнулся с проблемой, каким образом возможно упорядочить эти виджеты? Что-то наподобие zOrder или BringToFront/Back... По ассистенту ничего подобного не нашел... |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
void QWidget::lower () - помещает виджет в самый низ
(скрывается за всеми виджетами) void QWidget::raise () - помещает виджет на самый верх (другие виджеты больше не скрывают его за собой) void QWidget::stackUnder ( QWidget * w )- помещает виджет над окном, которое передается как указатель w. А также: const QObjectList & QObject::children () const - для классов QWidget возвращает список дочерних окон в порядке их добавления на виджет (последнее добавленное окно - первый элемент). Если до получения списка была применена операция lower() или raise(), то это отражается на порядке элементов в списке. После raise() окно будет первым элементом, после lower() - последним. Отсюда получается, чтобы поставить окно в нужную позицию на стеке придется получить указатель нужного окна с индекса в QObjectList и применить операцию stackUnder() для выбранного окна. Или опускать/поднимать окна через lower()/raise() до тех пор, пока нужное окно не окажется по нужному тебе индексу. Это сообщение отредактировал(а) SABROG - 23.12.2008, 18:33 |
|||
|
||||
| SwordOfDeath |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 130 Регистрация: 16.10.2007 Репутация: нет Всего: нет |
О боги! Откуда вы все знаете = )
Именно то что нужно! |
|||
|
||||
| SABROG |
|
|||
![]() Hacker ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2481 Регистрация: 18.9.2006 Репутация: 81 Всего: 91 |
А я и не знаю, это все Assistant да Google. Меня ночью разбуди, я не вспомню как main.cpp написать не подглядывая |
|||
|
||||
| pan2004 |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 357 Регистрация: 28.7.2007 Репутация: 6 Всего: 9 |
||||
|
||||
![]()
|
| Правила форума "С/С++: Кроссплатформенное программирование, 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. |