#python #pyqt #qgis #qdockwidget
#python #pyqt #qgis #qdockwidget
Вопрос:
Я пытаюсь закрепить окно моего плагина в правом верхнем углу 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)
Вот пример:
Я хочу, чтобы это окно входа в систему находилось над Processing Toolbox, то есть в правом верхнем углу QGIS, а Processing Toolbox — под окном входа в систему.
Ответ №1:
Я использую приведенный ниже код, чтобы поместить мое приложение 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)