首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

从QMainWindow geometry()获取错误的位置

从QMainWindow geometry()获取错误的位置是因为geometry()方法返回的是窗口在屏幕上的位置和大小,而不是窗口内容区域的位置和大小。如果想要获取窗口内容区域的位置和大小,应该使用QMainWindow centralWidget()方法获取窗口的中心部件,然后再使用QWidget geometry()方法获取中心部件的位置和大小。

QMainWindow是Qt框架中的一个主窗口类,用于创建具有菜单栏、工具栏、状态栏等功能的应用程序窗口。geometry()方法用于获取窗口在屏幕上的位置和大小,返回一个QRect对象,包含窗口的左上角坐标和宽高信息。

然而,如果想要获取窗口内容区域的位置和大小,应该使用centralWidget()方法获取窗口的中心部件。中心部件是一个QWidget对象,可以包含其他的子部件,例如按钮、文本框等。然后,可以使用geometry()方法获取中心部件的位置和大小,同样返回一个QRect对象。

以下是一个示例代码,展示如何正确获取窗口内容区域的位置和大小:

代码语言:python
复制
from PyQt5.QtWidgets import QMainWindow, QWidget, QApplication
from PyQt5.QtCore import QRect

class MyMainWindow(QMainWindow):
    def __init__(self):
        super().__init__()
        self.setWindowTitle("My Main Window")
        self.setGeometry(100, 100, 500, 500)

        central_widget = QWidget(self)
        self.setCentralWidget(central_widget)

        central_widget.setGeometry(50, 50, 400, 400)

    def get_content_geometry(self):
        central_widget = self.centralWidget()
        content_geometry = central_widget.geometry()
        return content_geometry

if __name__ == "__main__":
    app = QApplication([])
    window = MyMainWindow()
    window.show()

    content_geometry = window.get_content_geometry()
    print("Content Geometry:", content_geometry)

    app.exec_()

在上述示例中,我们创建了一个自定义的主窗口类MyMainWindow,并设置了窗口的标题和位置。在构造函数中,我们创建了一个中心部件central_widget,并将其设置为主窗口的中心部件。然后,我们通过get_content_geometry()方法获取中心部件的位置和大小,并打印输出。

注意,这里的位置和大小是相对于窗口的内容区域而言的,而不是相对于屏幕。如果需要获取相对于屏幕的位置和大小,可以使用QWidget的mapToGlobal()方法将内容区域的位置转换为屏幕坐标。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

24分53秒

070_尚硅谷_实时电商项目_从指定偏移量读取Kafka数据并获取偏移量位置

13分3秒

04_尚硅谷_Promise从入门到自定义_常见的内置错误

12分3秒

05_尚硅谷_Promise从入门到自定义_错误的处理(捕获与抛出)

7分16秒

15-尚硅谷-webpack从入门到精通-获取&校验loader的options

6分1秒

77_尚硅谷_大数据SpringMVC_从ServletContext中获取SpringIOC容器对象的方式.avi

9分9秒

164_尚硅谷_实时电商项目_从MySQL中获取偏移量的工具类封装

9分56秒

055.error的包装和拆解

29秒

SOLIDWORKS 2023新功能亮点揭秘:修复遗漏的配合参考

5分15秒

在 Minitab Engage 中使用设计中心

8分16秒

腾讯位置 - 关键词输入提示

1分2秒

一分钟了解腾讯位置服务

9分45秒

第13章:StringTable/120-String内存结构的分配位置

领券