这是我的代码:
from PySide import QtCore, QtGui, QtTest
import sys
application = QtGui.QApplication(sys.argv)
checkbox = QtGui.QCheckBox()
assert not checkbox.isChecked()
QtTest.QTest.mouseClick(checkbox, QtCore.Qt.LeftButton)
assert checkbox.isChecked()
我希望在模拟鼠标单击后该复选框会被选中。但事实并非如此。我使用的是 Mac OS X、Python 2.7,并且新安装了 PySide。
我也遇到了同样的问题。就我而言,默认点击位置不正确。文档指出默认位置是小部件的中心。
>>> print checkbox.rect()
PySide.QtCore.QRect(0,0,640,480)
所有其他示例都使用按钮,可以将其设置为任何大小,因此它将填充整个可用空间。但是,该复选框无法调整大小。由于我实际上看不到该复选框,因此我假设它水平位于左侧,垂直位于中间。
>>> QTest.mouseClick(checkbox, QtCore.Qt.LeftButton, pos=QtCore.QPoint(2,checkbox.height()/2)
>>> print checkbox.isChecked()
True
我是一名优秀的程序员,十分优秀!