tkinter的tk.Listbox里,我给它绑定了一个点击事件,但第一次点击出错,后几次就好了
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了tkinter的tk.Listbox里,我给它绑定了一个点击事件,但第一次点击出错,后几次就好了相关的知识,希望对你有一定的参考价值。
lb = tk.Listbox(window, listvariable=var2) # 将var2的值赋给Listbox # 创建Listboxdef processMouseEvent(me): value = lb.get(lb.curselection()) # 获取当前选中的文本 var1.set(value) # 为label设置值 print(value)lb.bind(sequence="<Button-1>", func=processMouseEvent) # 绑定单击事件lb.pack()=============== 第一次点击出现错误,后几次就好了,这个怎么解决,查了好久没结果
参考技术A 我也遇到了这个问题,原因是Listbox本身存在一个bug,它是先处理单击事件再进入被选中状态的。解决方法就是开子线程 参考技术B 第一次点击的时候,listbox内有选中内容吗?像这种操作应该事先检测一下所选
lb.curselection() 这个是返回ListBox的选中Index吗?那你应该判断一下先得到的数据是不是并没有选中任意一项本回答被提问者和网友采纳 参考技术C 可以把事件改成双击,就不会出现这个情况了
在 Appium Sendkeys 中没有按预期工作,它发送的比我给它的多
【中文标题】在 Appium Sendkeys 中没有按预期工作,它发送的比我给它的多【英文标题】:In Appium Sendkeys didn't work as expected, it sends more than i give to it 【发布时间】:2016-05-01 14:33:54 【问题描述】:当我点击以下代码时,我正在使用 Appium 编写 Android 应用程序的测试用例
public void EnterQuantity()
wd.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView[1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[3]/android.widget.LinearLayout[3]/android.widget.LinearLayout[1]/android.widget.EditText[1]")).sendKeys("1");
我在数量字段中得到 11 而不是 1。 我怎样才能降低写的速度,以确保只写我给的数字不加倍。
【问题讨论】:
请在 appium 尝试执行 sendkeys 时发布您的日志.. 我把这个问题作为答案,但问题是日志中的数量是 11 作为值而不是 1。 尝试在输入文本之前放置一些等待命令,并清除文本框中的文本。 【参考方案1】:尝试在 Android 设备中手动更改语言和输入设置中的自动更正设置
【讨论】:
不,问题不是来自那里,因为自动更正已关闭【参考方案2】:@Emna 我相信它会调用EnterQuantity()
两次。尝试在此函数中添加点击元素(例如提交按钮)以缩小根本原因
【讨论】:
我不这么认为,因为当我输入一个像 2780 一样的大数字时,它会被写成 227800 或 27800 或其他超过 4 位的组合。但我从来没有 27802780 @Emna 明白了。但是你可以在给出发送键后尝试点击或功能内的任何按钮吗? 这已经是我正在做的例子,我输入价格和数量然后点击购买订单,然后我转到订单列表,我看到这个订单的价格和数量具有附加效果11 代替 1 和 27800 代替 2780 或任何其他组合。这种情况并非一直在发生。但是假设 80% 那么最好将长 xpath 声明为一个元素并单击该元素而不是同时查找和发送密钥 //code WebElement xyz=wd.findElement(By.xpath("// android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.RelativeLayout[1]/android.widget.ScrollView [1]/android.widget.LinearLayout[1]/android.widget.LinearLayout[3]/android.widget.LinearLayout[3]/android.widget.LinearLayout[1]/android.widget.EditText[1]") ); xyz.sendKeys("1"); 请。在查找长层次结构和同时发送输入之间可能存在日志@Emna以上是关于tkinter的tk.Listbox里,我给它绑定了一个点击事件,但第一次点击出错,后几次就好了的主要内容,如果未能解决你的问题,请参考以下文章