Qt QDockWidget (плавающий) сворачивается, когда мое MainWindow сворачивается - PullRequest
5 голосов
/ 15 июня 2011

Как я могу свернуть окно QMainWindow, не свернув при этом мой QDockWidget, который я отстыковал и он плавающий?Что я хочу сделать, так это взять небольшое окно моего графического интерфейса для наблюдения за остальной частью главного окна.Главное окно не должно быть на экране, все, что я хочу видеть, - это DockWidget, пока он плавающий.

Ответы [ 2 ]

4 голосов
/ 15 июня 2011

Плавающее окно почти наверняка свернуто, когда ваше главное окно свернуто, потому что главное окно владеет дочерним окном. Или, другими словами, плавающее окно является дочерним главного окна. И дочернее окно не может быть видно, когда окно его владельца свернуто.

Решение, очевидно, состоит в том, чтобы разорвать отношения собственности между вашим плавающим окном и основным окном. Это, вероятно, также потребует, чтобы вы изменили тип окна, которое представляет ваше плавающее окно. Я предполагаю, что класс QDockWidget реализует плавающую палитру инструментов или другую форму всплывающего окна. Чтобы иметь отдельное окно, вам нужно создать перекрывающееся окно.

Подробнее о различных типах окон здесь , по крайней мере, при условии, что вы используете Windows.
Я полагаю, что это аналогичное положение для других целевых операционных систем.

В частности, в Windows кто-то может предложить сделать плавающее окно дочерним по отношению к окну desktop , но позвольте мне воспользоваться этой возможностью, чтобы настоятельно рекомендовать вам не делать этого. Более подробное обсуждение см. В блоге Рэймонда Чена на тему .

.
0 голосов
/ 15 июня 2011

Плавающий QDockWidget автоматически свернут, когда его родительский QMainWindow свернут.С этим ничего не поделаешь.Возможно, вам придется изменить свой QDockWidget на QDialog (или другой QWidget) с parent = 0.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...