通过 PySide 使用 Python 2.7 检索笔压

Posted

技术标签:

【中文标题】通过 PySide 使用 Python 2.7 检索笔压【英文标题】:Retrieving pen pressure with Python 2.7 via PySide 【发布时间】:2012-08-31 12:04:12 【问题描述】:

我正在将 Python 2.7 与 PySide 结合使用,并希望使用 this 从我的 wacom 笔中检索笔压力。

所以我尝试设置以下内容

import PySide
from PySide import QtCore, QtGui
pressure = PySide.QtGui.QTabletEvent.pressure()
print pressure

这引发了以下错误

pressure = PySide.QtGui.QTabletEvent.pressure()
TypeError: descriptor 'pressure' of 'PySide.QtGui.QTabletEvent' object needs an argument

它需要的对象是“PySide.QtGui.QTabletEvent”对象。但我不知道如何检索这样的对象。

所以我的问题是,如何使用 QTabletEvent 检索 wacom 笔压?

【问题讨论】:

【参考方案1】:

您需要接收实际事件并从中获取pressure

例子:

import sys
from PySide import QtCore, QtGui

class MyWidget(QtGui.QWidget):
    def tabletEvent(self, e):
        print(e.pressure())

app = QtGui.QApplication(sys.argv)
widget = MyWidget()
widget.show()
app.exec_()

【讨论】:

哦,我明白了。无需执行 app.exec_(),我怎么能做到这一点,需要很长时间才能运行,并且希望在我的 3D 程序中将它放在后台。 @user1095570 不幸的是,我认为没有办法做到这一点。只有小部件可以接收这些事件。

以上是关于通过 PySide 使用 Python 2.7 检索笔压的主要内容,如果未能解决你的问题,请参考以下文章

通过python编译PySide资源

Qt和PyQt和PySide之间的关系

Python / Pyside 代码没有按顺序执行?

通过 Python 从 .ui 文件处理 Pyside Qt 小部件的正确方法

PySide2 + QML:QApplication:通过了无效的样式覆盖,忽略它

Python和PySide:从另一个文件调用函数时变量值重置