【问题标题】:Why does my code crash after i close my tKinter/appJar GUI?为什么我关闭 tKinter/appJar GUI 后我的代码会崩溃?
【发布时间】:2020-01-17 20:11:13
【问题描述】:

这里是第一个问题。

我是 Python 新手,正在尝试使用 appJar 作为 UI 制作基于文本的游戏 - 问题是,最近我的 GUI 在我退出时会导致代码崩溃。无论是关闭窗口还是使用停止 GUI 的退出按钮,我都会收到此错误,并且它会阻止我在关闭 UI 后运行任何代码。

错误:


    self.tk.call(_flatten((self._w, cmd)) + self._options(cnf))

这是我的代码:

from appJar import gui 
import classes

def startProgram():
    # Main window and settings  
    with gui() as app:
        app.setTitle("CARAVAN")
        app.setSize("1000x700")
        app.setResizable(canResize=False)
        app.setGuiPadding(20, 20)
        app.setBg("dimgray", override=True)
        app.setFg("black", override=True)
        app.setFont(size=16, family="Source Code Pro")
        def exitProgram():
            app.stop()
        with app.labelFrame("Main Window", row=0, column=0, colspan=2, rowspan=2, stretch="both", sticky="nesw"):
            app.addButton("Exit", exitProgram, row=1, column=1)
        with app.labelFrame("Status", row=0, column=2, colspan=1, rowspan=1, stretch="row", sticky="nesw"):
            app.setStretch("both")
            app.setSticky("new")
            app.addLabel("Status1", row=0, column=0, colspan=1, rowspan=1)
            app.addLabel("Status2", row=1, column=0, colspan=1, rowspan=1)
        with app.labelFrame("Inventory", row=1, column=2, colspan=1, rowspan=1, stretch="row", sticky="nesw"):
            app.setStretch("both")
            app.setSticky("new")
            app.addLabel("Inv1", row=0, column=0, colspan=1, rowspan=1)
            app.addLabel("Inv2", row=1, column=0, colspan=1, rowspan=1)
        with app.labelFrame("Time", row=2, column=2, colspan=1, rowspan=1, stretch="row", sticky="esw"):
            app.addLabel("progress", "test")
        app.setSticky("esw")
        app.setStretch("column")
        app.addLabelEntry(" ", row=2, colspan=1)
        app.setEntryDefault(" ", "Respond here...")
    app.go()

startProgram()

【问题讨论】:

  • 你有一个缩进错误,这个:app.go(),必须在with gui() as app:块内。

标签: python python-3.x tkinter appjar


【解决方案1】:

invalid command name "." 告诉您根窗口已被破坏。 “。”是根窗口的内部名称。

您没有显示足够的代码来查明问题,但底线是您在根窗口被破坏后执行一些 tkinter 代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-06
    • 1970-01-01
    相关资源
    最近更新 更多