为什么我的代码在关闭 tKinter/appJar GUI 后崩溃?
Why does my code crash after i close my tKinter/appJar GUI?
这里是第一个问题。
我是 Python 的新手,正在尝试使用 appJar 为 UI 制作基于文本的游戏 - 问题是,最近我的 GUI 崩溃了我的代码,当我退出它。无论我是关闭 window 还是使用停止 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()
invalid command name "."
告诉您根 window 已被破坏。 “。”是根 window.
的内部名称
你没有显示足够的代码来查明问题,但底线是你在根 window 被破坏后执行了一些 tkinter 代码。
这里是第一个问题。
我是 Python 的新手,正在尝试使用 appJar 为 UI 制作基于文本的游戏 - 问题是,最近我的 GUI 崩溃了我的代码,当我退出它。无论我是关闭 window 还是使用停止 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()
invalid command name "."
告诉您根 window 已被破坏。 “。”是根 window.
你没有显示足够的代码来查明问题,但底线是你在根 window 被破坏后执行了一些 tkinter 代码。