首页 > 解决方案 > 有没有一种方法可以让用户将条目小部件留空而不会在以后引起问题?

问题描述

我在输入小部件时遇到了一些问题。我使用输入来计算一些东西,但我希望能够将一些条目留空而不会造成问题。现在,如果我有一些空白,我会得到错误。这是因为我使用 .get() 从字典中调用实例,因此我可以使用它们的属性进行计算。像这样的东西:

  lipidia = float(kouti1p)*float(dic.get(kouti1f).lip) + float(kouti2p)*float(dic.get(kouti2f).lip) + float(kouti3p)*float(dic.get(kouti3f).lip)

我尝试制作一个嵌套循环来检查入场价格,如果它的“”将在我的计算中插入 0 值但它不起作用:对于 n 数字:

   if dic_kouthkia.get(n) == "" :

        dic_kouthkiaf.get(dic_kouthkia.get(n)).insert(0,vrwmi)
        dic_kouthkiaf.get(dic_kouthkia.get(n)).focus_set()

        dic_kouthkiaa.get(dic_kouthkiap.get(n)).insert(0,0)
        dic_kouthkiaa.get(dic_kouthkiap.get(n)).focus_set()

当我去向所有输入空间添加值时,一切正常..即使我使用 0 从结果中“隐藏”它们。当我将它们留空时,我会遇到问题。

标签: pythontkinterwidget

解决方案


使用零作为默认值get()

例子:

mydict.get('someKey', 0) # if key is not existed return zero

进一步解释:

dict.get(key, default)如果该键存在于字典中,则返回该键的值。如果不存在,则get()返回指定为第二个参数的默认值。

如果没有像dict.get(key)默认值那样提供第二个参数None

参考:这里这里


推荐阅读