Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/332.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
使用appJar GUI修改Python程序_Python_Appjar - Fatal编程技术网

使用appJar GUI修改Python程序

使用appJar GUI修改Python程序,python,appjar,Python,Appjar,如何模块化appJar应用程序?当我尝试使用并将press函数移动到自己的文件中时,该函数不知道app变量。我想你最好看看下面的图片,如果没有,我会更新这个问题 对我来说,把印刷机分开放不是个好主意。我宁愿将press保存在当前文件中,它也可以使用其他文件中的函数——但这个文件应该将所有值作为参数获取 模块/方法.py main.py 或事件其他函数应仅从小部件获取值 模块/方法.py main.py 若你们真的想按其他文件,那个么它应该把app作为参数 模块/方法.py 但是,您必须使用lam

如何模块化appJar应用程序?当我尝试使用并将press函数移动到自己的文件中时,该函数不知道app变量。我想你最好看看下面的图片,如果没有,我会更新这个问题


对我来说,把印刷机分开放不是个好主意。我宁愿将press保存在当前文件中,它也可以使用其他文件中的函数——但这个文件应该将所有值作为参数获取

模块/方法.py

main.py

或事件其他函数应仅从小部件获取值

模块/方法.py

main.py

若你们真的想按其他文件,那个么它应该把app作为参数

模块/方法.py

但是,您必须使用lambda:methods.pressapp将参数指定给按钮函数

main.py


创建def pressapp并将app作为参数发送。使用不作为参数发送的变量是不好的。始终将代码、数据和错误消息作为文本而不是图像。Python无法加载图像来运行代码。至于我,将压力机放在单独的文件中是错误的想法。在单独的文件中,应该是可以在其他项目中使用的新部件或类。你必须把函数放在一个单独的文件中,然后你必须得到所有的值作为参数,它不应该使用未知的变量。谢谢,我没有想到将app作为变量传递。在main.py的第一个示例中,您有两个输入错误:它必须来自模块导入方法,在def press中:它必须是方法。displayappI更正了输入错误-所有这些都是因为您将代码作为图像,而我必须手动编写代码:
def display(app):
    print("User:", app.entry("Username"), "Pass:", app.entry("Password"))
from appJar import gui 
from modules import methods

def press():
    methods.display(app)

with gui("Login Window", "400x200", bg='orange', font={'size':18}) as app:
    app.label("Welcome to appJar", bg='blue', fg='orange')
    app.entry("Username", label=True, focus=True)
    app.entry("Password", label=True, secret=True)
    app.buttons(["Submit", "Cancel"], [press, app.stop])
def display(username, password):
    print("User:", username, "Pass:", password)
def press():
    methods.display(app.entry("Username"), app.entry("Password"))
def press(app):
    print("User:", app.entry("Username"), "Pass:", app.entry("Password"))
app.buttons(["Submit", "Cancel"], [lambda:methods.press(app), app.stop])