2024-09-30 01:23:27 发布
网友
我想出了如何在pysideqt中截取一个小部件,但它不包括非客户区,例如标题栏和边框。在
def screenCaptureWidget(widget, filename, fileformat='png'): pixmap = QtGui.QPixmap.grabWidget(widget) pixmap.save(filename, fileformat)
两个问题:
在找到QWidget.geometry()和{a1}之后,我想我找到了这两个问题的答案,它们分别给出了客户端和非客户端区域的屏幕坐标(作为QRect)。在
QWidget.geometry()
def getRelativeFrameGeometry(widget): g = widget.geometry() fg = widget.frameGeometry() return fg.translated(-g.left(),-g.top()) def screenCaptureWidget(widget, filename, fileformat='png'): rfg = getRelativeFrameGeometry(widget) pixmap = QtGui.QPixmap.grabWindow(widget.winId(), rfg.left(), rfg.top(), rfg.width(), rfg.height()) pixmap.save(filename, fileformat)
在找到
QWidget.geometry()
和{a1}之后,我想我找到了这两个问题的答案,它们分别给出了客户端和非客户端区域的屏幕坐标(作为QRect)。在相关问题 更多 >
编程相关推荐