我有一个带有大量按钮、工具按钮、选项卡等的 pyside 应用程序...我希望它们在悬停/单击时都有一个“指向手”光标。这意味着我的代码充满了这样的语句:
someWidget.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
这是一条比较长、丑陋的线。 我可以将以上内容封装在一个函数中:
def hand_cursor(widget):
widget.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
这使得其余代码更简洁:
hand_cursor(someWidget)
但我还是得把那行写得满地都是。
有谁知道可以让我所有的按钮、标签栏等都具有指向手形光标而无需重复我自己的秘诀/技巧?
最佳答案
我会维护一个列表,其中包含您想要此行为的所有小部件,并循环:
widgetsToChange = [someWidget, anotherWidget, ...]
for w in widgetsToChange:
hand_cursor(w)
#or w.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))
您还可以使用 QApplication.setOverrideCursor(QCursor(Qt.WaitCursor))
来更改所有应用程序。
关于python - PySide/PyQt : PointingHandCursor recipes?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25645598/