gpt4 book ai didi

python - 获取pyqt4 python中scrollarea产生的滚动条的值

转载 作者:行者123 更新时间:2023-12-01 06:02:34 25 4
gpt4 key购买 nike

我使用下面的代码创建了一个带有滚动的框架。在框架内我创建了另一个可以拖放的小部件。问题是,当存在垂直滚动条并假设您向下滚动它然后拖放对象时,对象会落在错误的 y 坐标处。我可以获取滚动条的值然后将其添加到 y 坐标吗?或者还有其他方法可以解决这个问题吗?预先感谢:)

#Main Layout 
layout = QtGui.QVBoxLayout()
layout.setSpacing(0)
self.centralWidget.setLayout(layout)

#Content Layout
self.frame = QtGui.QFrame()
self.frame.setMinimumSize(400, 1000)

self.scrollArea = QtGui.QScrollArea()
self.scrollArea.setWidget(self.frame)
self.scrollArea.setWidgetResizable(True)
layout.addWidget(self.scrollArea)

最佳答案

您可以通过以下方式获取滚动条的值:

yOffset = self.scrollArea.verticalScrollBar().value()

但可能需要计算额外的偏移量。

您还可以使用QWidget.mapFrommapTomapFromGlobal将鼠标坐标映射到滚动区域内小部件的相对坐标> 或 mapToGlobal

例如,如果主窗口是接收事件的小部件:

def dropEvent(self, event):
pos = self.frame.mapFrom(self, event.pos())

关于python - 获取pyqt4 python中scrollarea产生的滚动条的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9552692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com