crossplatform.ru

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

DEADHUNT
  опции профиля:
сообщение 18.7.2010, 11:31
Сообщение #1


Активный участник
***

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

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




Репутация:   2  


QDockWidget *dockWidget = ...;
restoreDockWidget(dockWidget); // from QMainWindow
dockWidget->raise();

Если dockWidget уже является видимым то raise нормально работает, и делает его активным, но если dockWidget был закрыт, то после выполнения данного кода dockWidget восстанавливается, но не становится активным(raise не работает). Покопавшись в коде restoreDockWidget увидел там вызов какого-то сигнала через QMetaObject::invoke, может на момент вызова raise dockWidget ещё не восстанавливается, и поэтому функции raise ничего не делает.
придумал такое решение:
QDockWidget *dockWidget = ...;
restoreDockWidget(dockWidget);
QTime::singleShot(100, dockWidget, SLOT(raise());
dockWidget->raise();

Может можно сделать лучше?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

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


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


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


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