PySide/PyQt:PointingHandCursor 食谱?

Posted

技术标签:

【中文标题】PySide/PyQt:PointingHandCursor 食谱?【英文标题】:PySide/PyQt: PointingHandCursor recipes? 【发布时间】:2014-09-03 13:24:59 【问题描述】:

我有一个带有许多按钮、工具按钮、选项卡等的 pyside 应用程序...我希望它们在悬停/单击时都有一个“指向手”光标。这意味着我的代码充满了这样的语句:

someWidget.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor)) 

这是一条相对长而丑陋的线。 我可以将以上内容封装在一个函数中:

def hand_cursor(widget):
    widget.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))

这使得其余代码更加整洁:

hand_cursor(someWidget)

但我还是得把那行写满。

有没有人知道让我的所有按钮、标签栏等都具有指向手形光标而不重复自己的方法/技巧?

【问题讨论】:

【参考方案1】:

我会维护一个您想要此行为的所有小部件的列表,然后循环:

widgetsToChange = [someWidget, anotherWidget, ...]
for w in widgetsToChange:
  hand_cursor(w) 
  #or w.setCursor(QtGui.QCursor(QtCore.Qt.PointingHandCursor))

您也可以使用QApplication.setOverrideCursor(QCursor(Qt.WaitCursor)) 更改所有应用程序。

【讨论】:

以上是关于PySide/PyQt:PointingHandCursor 食谱?的主要内容,如果未能解决你的问题,请参考以下文章

PySide/PyQt:PointingHandCursor 食谱?

PySide / PyQt QStyledItemDelegate 表中的列表

PySide/pyQt 在 QTableView 中显示数据

模型中 dropActions 的访问值 (PySide/PyQt/Qt)

PySide/PyQt 中的 QtConcurrent

访问 QMainWindow 类变量 - Pyside/PyQt