Closed AuroraZiling closed 1 year ago
感谢反馈,应该不会影响其他的部件
刚刚又发现个有关QPoint
传参类型错误的问题
在 common -> smooth_scroll 内:
def __smoothMove(self):
""" scroll smoothly when timer time out """
totalDelta = 0
# Calculate the scrolling distance of all unprocessed events,
# the timer will reduce the number of steps by 1 each time it overflows.
for i in self.stepsLeftQueue:
totalDelta += self.__subDelta(i[0], i[1])
i[1] -= 1
# If the event has been processed, move it out of the queue
while self.stepsLeftQueue and self.stepsLeftQueue[0][1] == 0:
self.stepsLeftQueue.popleft()
# construct wheel event
if self.orient == Qt.Orientation.Vertical:
pixelDelta = QPoint(round(totalDelta), 0)
bar = self.widget.verticalScrollBar()
else:
pixelDelta = QPoint(0, round(totalDelta))
bar = self.widget.horizontalScrollBar()
e = QWheelEvent(
self.lastPos,
self.lastGlobalPos,
pixelDelta,
QPoint(totalDelta, 0),
Qt.MouseButton.LeftButton,
Qt.KeyboardModifier.NoModifier,
Qt.ScrollPhase.ScrollBegin,
False,
)
# send wheel event to app
QApplication.sendEvent(bar, e)
# stop scrolling if the queque is empty
if not self.stepsLeftQueue:
self.smoothMoveTimer.stop()
中的QPoint(totalDelta, 0)
,此处改成QPoint(int(totalDelta), 0)
就修好了
这个还是用 round
吧
是这样吗?好像不接受float
round(totalDelta)
就好了,不需要第二个参数
好的
描述
在点击Combobox后无法展开选项,会报错
环境
部分代码
出错位置 widgets -> menu
将
self.ani.setStartValue(pos-QPoint(0, h/2))
改为self.ani.setStartValue(pos-QPoint(0, int(h/2)))
(传参都是int)即可解决,但不知道会不会影响其他东西