crossplatform.ru

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

maint
  опции профиля:
сообщение 17.10.2012, 8:16
Сообщение #1


Участник
**

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

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




Репутация:   2  


Обнаружил неприятную вещь в Qt. Если в новом окне QTableView создается по new, то окна остаются активными навсегда (так же не происходит переключение по мыше и не наботают activateNextSubWindows и prew, активация окна не проходит), сколько бы их не было. Если описывать просто, то все нормально. И как с этим бороться не представляю

если в QTableView сделать setParent на создаваемое окно, все возвращается на круги своя. Похоже что QMdiArea и QTableView категорически не хотят дружить. Выхода из положения не вижу. Может у кого есть идеи ?

Если вдруг кому покажется интересным могу выложить минимальный проект, собранный из стандартного примера mdi с добавкой вызова окон с QTableView

Сообщение отредактировал maint - 17.10.2012, 10:41
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение
 
Начать новую тему
Ответов
Алексей1153
  опции профиля:
сообщение 17.10.2012, 19:23
Сообщение #2


фрилансер
******

Группа: Участник
Сообщений: 2943
Регистрация: 19.6.2010
Из: Обливион
Пользователь №: 1822

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




Репутация:   34  


во! Нашёл

в общем, всё оставляй, как у тебя есть (только смотри примечание в конце сообщения)

но в fBooks::fBooks(int w, int h, QString title)

перед
resize(w, h);
добавь

    setWindowFlags(windowFlags()|Qt::SubWindow);
    resize(w, h);



---------------
*примечание, чистое ИМХО

члены-переменные лучше объявлять в виде указателей и создавать их через new в конструкторе. А то можно перегрузить стек ненароком, ведь неизвестно, сколько чего лежит в классе. Кроме того, удобнее задавать родителя - через конструктор

Сообщение отредактировал Алексей1153 - 17.10.2012, 19:27
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


RSS Рейтинг@Mail.ru Текстовая версия Сейчас: 13.6.2025, 19:44