crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> mdiArea->closeActiveSubWindow() - глюк или так и должно быть ?, Если открыто много окошек, то при закрытии первого активным становитьс
potkin
  опции профиля:
сообщение 15.12.2010, 13:37
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

Спасибо сказали: 0 раз(а)




Репутация:   0  


Юзаю виджет mdiArea.
Проблема:
Если открыто много окошек в mdiArea, то при закрытии N-го окна, активным становиться N+1
или
при закрытии последнего окна активным становиться первое.
Так же и в примерах: "Main Windows -> MDI"
Мне такой расклад не подходит.

Мне надо, что бы при закрытии Чилда активным стало не следующее окошко, а предыдущее, то есть при закрытии N-го окна, активным становиться N-1

Можно конечно и цикл использовать:
foreach (QMdiSubWindow *window, mdiArea->subWindowList())
MdiChild *mdiChild = ...
....

пробегать по всем Чилдам и проверять "что-то", но это менингит.
Может есть более лёгкий способ ???

Заранее спасибо.
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
potkin
  опции профиля:
сообщение 16.12.2010, 10:27
Сообщение #2


Студент
*

Группа: Участник
Сообщений: 77
Регистрация: 18.6.2010
Пользователь №: 1819

Спасибо сказали: 0 раз(а)




Репутация:   0  


Всё таки циклом ...
Делаю так:
void RuhCinCapSub::ActivatedWindow()
{
    foreach (QMdiSubWindow *window, gl->mdiArea->subWindowList())
    {
        if(window->widget()->toolTip().toInt() == this->toolTip().toInt())
        {
            QMdiSubWindow *existing = window;
            if (existing) gl->mdiArea->setActiveSubWindow(existing);
        }
    }
}

В "toolTip()" присваиваю уникальный идентификатор и по нём и ищу.

П.С. Может есть всё таки какие-то встроенные средства ???
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 27.12.2024, 23:42