Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
User interface 使用pywinauto选中复选框不会';行不通_User Interface_Python 3.x_Microsoft Ui Automation_Pywinauto - Fatal编程技术网

User interface 使用pywinauto选中复选框不会';行不通

User interface 使用pywinauto选中复选框不会';行不通,user-interface,python-3.x,microsoft-ui-automation,pywinauto,User Interface,Python 3.x,Microsoft Ui Automation,Pywinauto,我从pip安装了最后一个pywinauto模块。 我不知道如何使用Check()、UnCheck()、GetCheckState()方法 这是我非常简单的代码示例 from pywinauto import application # Start the madvr settings application. app = application.Application() app.start_(r'C:\Program Files\LAV Filters\x86\madVR\madHcCtrl

我从pip安装了最后一个pywinauto模块。
我不知道如何使用Check()、UnCheck()、GetCheckState()方法

这是我非常简单的代码示例

from pywinauto import application

# Start the madvr settings application.
app = application.Application()
app.start_(r'C:\Program Files\LAV Filters\x86\madVR\madHcCtrl.exe editLocalSettingsDontWait')

# Handle the madvr settings window.
madvr = app.window_(title_re="madVR.*")

# Enable the smooth motion tab.
madvr.TreeView.GetItem(r'\rendering\smooth motion').Click()

# Check the smooth motion checkbox.
madvr.TCheckBox.Check()
如果我使用Click()方法,它可以工作,但这不是我想要的

madvr.TCheckBox.Click()
如果已选中该复选框,则取消选中该复选框

为什么我不能使用Check()方法?
我尝试了Uncheck()和GetCheckState()方法,它们也不起作用。

我添加了
“TCheckBox”
类名,以便在0.5.1(将于本周发布)中进行正确的复选框检测。谢谢你的用例。目前您可以解决此问题,因此(pywinauto==0.6.x的代码已更新):

试试这个:

使用
get\u toggle\u state()


您的madHcCtrl.exe可能只处理WM_CLICK事件以更改状态。这种情况经常发生。如果是,还有另一个选项:
CheckByClick
UncheckByClick
。它也不起作用。我遇到了以下错误:
AttributeError:'HwndWrapper'对象没有属性'CheckByClick'
噢,似乎此控件未被检测为复选框。还请提供
madvr.TCheckBox.Class()
返回值。它可能有助于在pywinauto 0.5.1中修复此问题。它返回:
'TCheckBox'
get\u toggle\u state()。
from pywinauto.controls.win32_controls import ButtonWrapper
checkbox = ButtonWrapper(madvr.TCheckBox.wrapper_object())
checkbox.get_check_state()
checkbox = ButtonWrapper(madvr.TCheckBox.wrapper_object())
checkbox.get_toggle_state()