我知道有<div #modal class="modal fade" tabindex="-1" role="dialog" id={{dialogID}}>
<div class="modal-dialog modal-dialog-centered" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">CodingJedi</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close" (click)="dialogHide()">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<p>{{dialogMessage}}</p>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal" (click)="dialogHide()">Close</button>
</div>
</div>
</div>
</div>
,.destroy()
等命令。但是,当从按钮参数中将这些命令从“ command”中取出时,按下该按钮时要执行的操作却没有不行。
我的情况是,当用户成功登录时,Tkinter窗口及其小部件应在pygame中的GUI打开后不久关闭。我只是不希望Tkinter窗口出现在我不再需要它而又不退出Python的情况下。我不需要按钮,因为我希望过程是自动的。
让我感到困惑的是为什么当独自执行此命令时,它不起作用:
.exit()
答案 0 :(得分:0)
在没有看到更多源代码的情况下,我认为问题是基于 where 您调用root.destroy()
如果它在阻塞tk.mainloop()
之后出现,则将永远无法达到。有关此问题,请阅读Tkinter understanding mainloop。
基于上述情况的可能解决方案:
while True:
tk.update_idletasks()
tk.update()
if login_successful: # or whatever your login check looks like
root.destroy()
您用自定义循环替换了mainloop
,其中包括检查成功登录的信息。