如何在QGIS的右上角设置DockWidget?

时间:2019-03-26 10:26:09

标签: 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)

这里是示例:

example

我希望此“登录”窗口位于“处理工具箱”上方,即位于QGIS的右上角,并且此“处理工具箱”应位于“登录窗口”下方。

1 个答案:

答案 0 :(得分:0)

我使用以下代码将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)