无限循环和标签更新时遇到问题(Python AppJar)

时间:2017-07-07 11:26:38

标签: python python-2.7 user-interface

我正在创建一个脚本,只要 GO 变量为<,就会使用最新的消息值更新我的“结果” EmptyLabel 强> FALSE

我的问题是appJar windows卡住了(“Not Responding”),因为它包含while循环。我已经尝试了很多方法来解决这个问题,但它仍然挂在同一个问题上。必须有一种方法让while循环在后台继续并仍然更新GUI(在while循环中)。

您可以在下面找到我的代码:

from appjar import gui

def press(button):
    if button == "PLAY":
        app.disableButton("PLAY")
        Main(A, B, C)
    else:
        app.errorBox("Error", "Error")

def Main(A, B, C):
    GO = False

    while not GO:
        message = 'From: {0}\nTo: {1}.'.format(A, B)

        if int(num) <= C:
            GO = True
            sys.exit(0)
        else:
            app.setLabel("Result", message)

if __name__ == "__main__":
    app = gui()

    app = gui("Login Window", "420x300")

    app.addEmptyLabel("Result", 3, 0, 4)
    app.setLabelRelief("Result", app.GROOVE)
    app.setLabelAlign("Result", app.NW)
    app.setLabelHeight("Result", 8)

    app.addButtons(["PLAY", "Reset", "Cancel"], press, 4, 0, 4)

    app.go()

Python版本:2.7.3 appJar GUI版本:0.61 enter image description here 你可以帮忙吗?

1 个答案:

答案 0 :(得分:0)

拥有while循环将导致GUI的事件循环挂起。 GUI不会再次响应,直到while循环结束。

您提供的代码无效,因此无法对其进行测试。

但请看一下:http://appjar.info/pythonEvents/#repeating-events了解使用appJar重复的一些建议。