所以我现在使用.place来设置我的小部件的位置。在
def printresults():
SClabelspare=Label(cwindow, text ="Please enter the Customers ID Number:" ).place(x=10,y=560)
我希望调用另一个子程序来销毁这些小部件。我相信有一种东西叫做.destroy()或.place\u destroy?但我不太确定这些是如何工作的,我已经尝试创建了一个看起来像这样的:
^{pr2}$但它只会产生一个错误代码NameError: global name 'SClabelspare' is not defined
任何帮助都将不胜感激!在
或者,如果假设非常简单,没有太多难以管理的全局变量,并且类结构只会引入不必要的复杂性,那么您可以尝试这样的方法(在命令行的python3解释器中对我很有效):
首先,place()返回None,因此SClabelspare==None不是Tkinter ID;其次,它是本地的,因此当函数退出时,垃圾回收也是如此。你必须保留对对象的引用,这可以通过多种方式实现。Python教程是一个很好的主意,在您进一步研究之前先了解基础知识https://wiki.python.org/moin/BeginnersGuide/Programmers另外,不使用类结构来编程Tkinter应用程序是一种令人沮丧的体验,除非它是非常简单的事情。否则,你会遇到像你这样的错误,你必须花很多时间和精力去克服它们。这是我已经有过的一个例子,目的是给出这个过程的一般概念。在
相关问题 更多 >
编程相关推荐