Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.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
Python 加载模块上的参数切换_Python_Tkinter - Fatal编程技术网

Python 加载模块上的参数切换

Python 加载模块上的参数切换,python,tkinter,Python,Tkinter,我已经用python编写了一个屏幕键盘,可以通过导入模块将其加载到框架或父窗口中 import mykeys 然后我可以打电话过去 mykeys.thekeys(akey, accountI) 现在,我正在编写一个包含两个输入窗口小部件字段的脚本。不幸的是,我一次只能使用一个输入小部件字段,因为mykeys模块只接受一个输入字段引用或参数。我可以通过使用来检测单击的输入字段 parentW.bind("<FocusIn>", keyFocus) 当我点击这些字段时,它将打印相应

我已经用python编写了一个屏幕键盘,可以通过导入模块将其加载到框架或父窗口中

import mykeys
然后我可以打电话过去

mykeys.thekeys(akey, accountI)
现在,我正在编写一个包含两个输入窗口小部件字段的脚本。不幸的是,我一次只能使用一个输入小部件字段,因为mykeys模块只接受一个输入字段引用或参数。我可以通过使用来检测单击的输入字段

parentW.bind("<FocusIn>", keyFocus)
当我点击这些字段时,它将打印相应的打印语句。我希望使用这个“黑客”来重新加载模块,并为我试图输入的字段激活正确的参数,如

def keyFocus(event):
    if accountS.focus_get() == accountI:
        reload(mykeys)
        mykeys.thekeys(akey, accountI)
    elif accountS.focus_get() == accountIK:
        reload(mykeys)
        mykeys.thekeys(akey, accountIK) 

不用说,它不起作用。解决我的问题最好的办法是什么?任何帮助都将不胜感激。

除非mykeys模块的编写非常糟糕,否则就没有理由使用
重新加载
。您的函数可以更整洁,但它应该按照它的方式工作,因此我假设问题出在mykeys模块中。请制作一个包含我们可以测试的键盘。在
mykeys中。这些键(akey,accountI)
,什么是
akey
accountI
?它们是小部件吗?功能?mykeys似乎是可靠的,除了我将其编码为一次只控制一个输入字段之外。
reload
是我试图让模块“刷新”的东西,这样我就可以用新的输入小部件参数“重新启动”屏幕键盘,它是
accountIK
@BryanOakley,
akey
是框架,
accountI
是输入小部件字段。你不需要重新加载任何内容。为什么您不能编写
mykeys
来处理任何具有焦点的小部件?
def keyFocus(event):
    if accountS.focus_get() == accountI:
        reload(mykeys)
        mykeys.thekeys(akey, accountI)
    elif accountS.focus_get() == accountIK:
        reload(mykeys)
        mykeys.thekeys(akey, accountIK)