Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/jpa/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何清除一堆python标签,但仅在调用它们时清除_Python_Tkinter_Label - Fatal编程技术网

如何清除一堆python标签,但仅在调用它们时清除

如何清除一堆python标签,但仅在调用它们时清除,python,tkinter,label,Python,Tkinter,Label,大家好,各位飞越者 我正在写一个小程序,它可以做一些数据库的事情,我试图删除一个标签,但只有当它被调用时 这是我的全部功能之一,但底部的部分是我试图删除标签的地方 def entry_a_result(self): count = 0 counta = 0 fullfile = fullGUI.f_or() if len(self.e.get()) > 0: #print(self.e.get())

大家好,各位飞越者

我正在写一个小程序,它可以做一些数据库的事情,我试图删除一个标签,但只有当它被调用时

这是我的全部功能之一,但底部的部分是我试图删除标签的地方

def entry_a_result(self):



      count = 0
      counta = 0
      fullfile = fullGUI.f_or()
      if len(self.e.get()) > 0:
          #print(self.e.get())
        file_obj = open(fullfile, "r+")
        fullstring = self.e.get()
        x = fullstring[5:9]
        try:
          while(fullstring.startswith("get *") and count < 1):
             self.la = Label(root, text = file_obj.read() + "\n" + "--------")
             self.la.pack(side=TOP, anchor=N)
             count = 1
          while(fullstring.startswith("get |" + x) and count < 1):
            count = 1
            lines = file_obj.readlines()

            for line in lines:
                  if x in line:
                    self.lb = Label(root, text=line + "\n" + "--------")
                    self.lb.pack(side=TOP, anchor=N)
                  else:
                    pass

          **while(fullstring.startswith("clear") and count < 1):

               count = 1
               labela = self.la.winfo_exists()
               labelb = self.lb.winfo_exists()
               if labela == 1:
                 self.la.destroy()
               if labelb == 1:
                 self.lb.destroy()**
def输入结果(自身):
计数=0
counta=0
fullfile=fullGUI.f_或()
如果len(self.e.get())>0:
#打印(self.e.get())
file_obj=open(完整文件,“r+”)
fullstring=self.e.get()
x=完整字符串[5:9]
尝试:
while(fullstring.startswith(“get*”)和count<1):
self.la=标签(根,文本=文件\u obj.read()+“\n”+“-----------”)
自组装(侧=顶部,锚=N)
计数=1
while(fullstring.startswith(“get |“+x)和count<1):
计数=1
lines=文件_obj.readlines()
对于行中的行:
如果x在直线上:
self.lb=标签(根,文本=行+“\n”+“----------”)
自磅包装(侧=顶部,锚=N)
其他:
通过
**while(fullstring.startswith(“清除”)和count<1):
计数=1
labela=self.la.winfo_exists()
labelb=self.lb.winfo_存在()
如果labela==1:
self.la.destroy()
如果labelb==1:
self.lb.destroy()**
看起来winfo_exists()只有在创建标签时才起作用,否则不会将自身附加到变量

为了澄清任何混乱


当且仅当标签存在时,我尝试销毁或移除标签。在本例中,每当我调用程序中当前正在工作的某个参数时(在该情况下,我的参数工作)

我不知道为什么您使用
count
而count您可以使用
self.la=None
通知小部件还不存在。然后,您可以使用
if self.la:
来检查它-您不需要
winfo_exists()
self.la
self.lb
只保留最后一个标签-可能保留某些列表中的所有标签
self.la=[]
self.la.append(标签(…)
其他:pass
没有用-你可以删除它。self.la和self.lb本身就是标签,我尝试使用self.la=None,但似乎不起作用。我不知道为什么你要使用
count
而count你可以使用
self.la=None
来通知小部件还不存在。然后,您可以使用
if self.la:
来检查它-您不需要
winfo_exists()
self.la
self.lb
只保留最后一个标签-可能保留某些列表中的所有标签
self.la=[]
self.la.append(Label(…)
其他:pass
无效-您可以删除它。self.la和self.lb是标签本身,我尝试使用self.la=None,但似乎不起作用。