Russian Qt Forum
Сентябрь 30, 2024, 00:38 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: [РЕШЕНО] Мелькание QDockWidget на середине экрана при создании  (Прочитано 2369 раз)
AlekseyK
Гость
« : Март 27, 2016, 00:15 »

Когда создаю новый QDockWidget
Код
C++ (Qt)
myWidget = new MyDockWidget(this);
MyMainWindow::instance()->addDockWidget(Qt::RightDockWidgetArea, mSettings);
 
я вижу как он на мгновение появляется посередение экрана, а затем отправляется в правый док, как ему и положено. Запускаю в отладчике, поэтому вещи могут происходить медленно. Однако и у пользователей могут быть не быстрые машины, и такое поведение - не вариант. Можно ли создать виджет, который изначально будет в  доке или прятать его пока он не очутится там?

В конструкторе моего MyDockWidget в setupUi(this) устанавливаются следующие настройки:
Код
C++ (Qt)
MyDockWidget->setFloating(true);
DependencyPlotSettingsPanel->setFeatures(QDockWidget::DockWidgetFloatable | QDockWidget::DockWidgetMovable);
MyDockWidget->setAllowedAreas(Qt::RightDockWidgetArea);
 
Почему же он изначально появляется в середине? Как это исправить?

P.S. И ещё, если установить main window в качестве родителя для dock widget, то он появляется посередине экрана - не в доке - почему? Какой виджет нужно указывать в качестве родительского? Текущий родитель - это одно из MDI окон.
« Последнее редактирование: Март 27, 2016, 02:59 от AlekseyK » Записан
AlekseyK
Гость
« Ответ #1 : Март 27, 2016, 03:02 »

Какой-то странный глюк: убрал все features, оставил по умолчанию как в примере Dock Widgets Example, а также установил родителем главное окно - заработало.

P.S. Затем опять установил features в DockWidgetFloatable | DockWidgetMovable вручную, а затем и через Designer - снова работает - в общем мистика какая-то. Решено.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 0.077 секунд. Запросов: 20.