python - PySide/PyQt : PointingHandCursor recipes?

标签 python qt pyqt pyside

我有一个带有大量按钮、工具按钮、选项卡等的 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/

相关文章:

python - Django在不同进程中处理数据

python - 如何使用 QCombobox 选择更新 QTableView 单元格?

python - PyQt Multiple Windows - 如何在模块之间传递函数 Qt Designer

python - 删除滚动条以显示完整表格

python - python 中 JSON 到 CSV 的转换问题

python - 如何在python日志记录中创建每日日志文件夹

multithreading - 由于另一个 QThread,QApplication 线程卡住

c++ - 重绘 QTreeWidget

python - 高分辨率屏幕上的 PyQt GUI 大小

python - 如何在图像的黑色区域上绘制绿线?