Как установить DockWidget в верхнем правом углу QGIS? - PullRequest
1 голос
/ 26 марта 2019

Я пытаюсь закрепить окно моего плагина в верхнем правом углу QGIS, но не могу разместить его сверху, если уже есть окно.

Я использовал следующий код, который заставляет окно вставки появляться справа, но не сверху, так как какое-то другое окно уже присутствует вверху.

dock_widget = QDockWidget("My_Plugin", self.iface.mainWindow())
dock_widget.setWidget(MainWindow)
dock_widget.setFixedWidth(356)
dock_widget.setFixedHeight(620)

self.iface.addDockWidget(QtCore.Qt.RightDockWidgetArea, dock_widget)
dock_widget.setAllowedAreas(QtCore.Qt.RightDockWidgetArea | 
QtCore.Qt.TopDockWidgetArea)

Вот пример:

example

Я хочу, чтобы это Окно входа в систему выше Панели инструментов обработки, т.е. находилось в верхнем правом углу QGIS, а эта Панель инструментов обработки должна быть ниже Окна входа в систему.

1 Ответ

0 голосов
/ 29 мая 2019

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

def location_on_the_screen(self):
    ag = QDesktopWidget().availableGeometry()
    sg = QDesktopWidget().screenGeometry()

    widget = self.geometry()
    x = ag.width() - widget.width()
    y = 2 * ag.height() - sg.height() - widget.height()
    self.move(x, y)
...