用鼠标滚动PyQt5

2024-06-16 11:15:41 发布

您现在位置:Python中文网/ 问答频道 /正文

我想做什么:

用鼠标滚动pyqt5窗口滚动区域

问题:

如果滚动区域有Q编辑(例如QDateTimeEdit),滚动将在Q编辑中停止,鼠标滚动将更改Q*编辑小部件

我想要这个的原因:

我想要一些PicPick程序的屏幕截图。因此,当程序滚动窗口以捕获它时,滚动停止到滚动的小部件(例如QDateTimeEdit)

似乎我必须设置/禁用焦点策略,但我不知道如何做到这一点

我发现了一些代码:

for i in range(1,60):
        

        layout_name = "gridLayout_"+str(i)
        if(hasattr(ui, layout_name)):
            layout = getattr(ui, layout_name)
            items = (layout.itemAt(i) for i in range(layout.count())) 
            for w in items:
                if(hasattr(w, "setFocusPolicy")):
                    w.setFocusPolicy(Qt.StrongFocus)

但这并不能解决问题


Tags: namein程序区域编辑uiforif