crossplatform.ru

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


  Ответ в mdiArea->closeActiveSubWindow() - глюк или так и должно быть ?
Введите ваше имя
Подтвердите код

Введите в поле код из 6 символов, отображенных в виде изображения. Если вы не можете прочитать код с изображения, нажмите на изображение для генерации нового кода.
Теги
Выровнять по центру
Ссылка на тему
Ссылка на сообщение
Скрытый текст
Сокращение
Код с подсветкой
Offtopic
 
Удалить форматирование
Спец. элементы
Шрифт
Размер
 
Цвет шрифта
 
Отменить ввод
Вернуть ввод
Полужирный
Курсив
Подчеркнутый
 
 
Смайлики
Вставить изображение
Вставить адрес электронной почты
Цитата
Код
Раскрывающийся текст
 
Увеличить отступ
По левому краю
По центру
По правому краю
Вставить список
Вставить список

Опции сообщения
 Включить смайлы?
Иконки сообщения
(Опционально)
                                
                                
  [ Без иконки ]
 


Последние 10 сообщений [ в обратном порядке ]
Алексей1153 Дата 16.12.2010, 15:13
  я не знаю подробностей, ты их знаешь :) А говорю про, например. std::map
potkin Дата 16.12.2010, 13:47
  Алексей1153,
Цитата
а ассоциацию применить нельзя разве ? Коли уж идентификатор уникальный

А можно поподробнее ... ?
Алексей1153 Дата 16.12.2010, 11:16
  BRE, я об этом не думаю, мне просто не требуется такое поведение, ведь я ХОЧУ менять исходный контейнер через итераторы, а тут такая подстава :) Я первый раз долго не мог понять , что происходит. Потом меня в доку ткнули
BRE Дата 16.12.2010, 10:59
 
Цитата(Алексей1153 @ 16.12.2010, 10:44) *
Кстати, от foreach у меня один негатив остался - он (и это написано в доке) сначала делает копию контейнера и только копию шмонает. (Я пользуюсь циклом for с итератором)

А почему ты думаешь, что копирование Qt-контейнера такая тяжелая операция (грубо говоря это инкремент счетчика). :)
А вот реально копия будет сделана только, если при попытке его модификации (точнее при вызове не константного метода).
Алексей1153 Дата 16.12.2010, 10:44
  а ассоциацию применить нельзя разве ? Коли уж идентификатор уникальный

Кстати, от foreach у меня один негатив остался - он (и это написано в доке) сначала делает копию контейнера и только копию шмонает. (Я пользуюсь циклом for с итератором)
potkin Дата 16.12.2010, 10:27
  Всё таки циклом ...
Делаю так:
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()" присваиваю уникальный идентификатор и по нём и ищу.

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

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

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

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

Заранее спасибо.
Просмотр темы полностью (откроется в новом окне)
RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 10.7.2025, 21:18