我正试图将我的插件窗口停靠在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)

下面是一个例子:
python - 如何在QGIS的右上角设置DockWidget?-LMLPHP
我希望此登录窗口位于处理工具箱的上方,即位于QGIS的右上角,而处理工具箱应位于登录窗口的下方。

最佳答案

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

关于python - 如何在QGIS的右上角设置DockWidget?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55354824/

10-10 18:53