选中后如何删除复选框

mGarsteck

我已经建立了一个简单的待办事项清单,并且我试图获取该复选框以在选中该复选框时将其自身删除(以表示该任务已完成)。

我不确定如何将其删除才能实现该功能。谁能帮我这个忙。我已经浏览了页面列表,但没有一个页面真正表明您如何执行此操作。

class App(object):

def __init__(self, master):
    self.master = master
    self.frame = Frame(master)
    self.frame.grid()
    self.addFrame = Frame(master)
    self.addFrame.grid(row=0, column=0, columnspan=2, sticky='N')
    self.listFrame = Frame(master)
    self.listFrame.grid(row=1, column=0, columnspan=2, sticky='NW')
    self.todoList = []
    self.initUI()

def initUI(self):

    self.entryBox = Entry(self.frame, width = 15)
    self.entryBox.grid(row=0, column=0, sticky='N')

    self.addButton = Button(self.frame, text="<-ADD->", command=self.add)
    self.addButton.grid(row=0, column=1, sticky='N')


def removeCheckButton(self):
    # - CONFUSED HOW TO REMOVE THE SPECIFIC CHECKBUTTON
    pass

def add(self):
    entry = self.entryBox.get()
    self.entryBox.delete(0, END)
    self.todoList.append(entry)
    print self.todoList
    var1 = IntVar()
    self.buttonList = []
    for n in range(len(self.todoList)):
        lx = Checkbutton(self.listFrame, text=self.todoList[n], variable=self.todoList[n], command=removeCheckButton)
        lx.grid(row=n, column=0, sticky='NW')
        self.buttonList.append(lx)
        print self.buttonList
马辛

看看这个。您的add设计有点奇怪(IMO也不正确),所以我对它以及其他部分进行了一些修改。

from tkinter import *


class App(object):

    def __init__(self, master):
        self.master = master
        self.frame = Frame(master)
        self.frame.grid()
        self.addFrame = Frame(master)
        self.addFrame.grid(row=0, column=0, columnspan=2, sticky='N')
        self.listFrame = Frame(master)
        self.listFrame.grid(row=1, column=0, columnspan=2, sticky='NW')
        self.todoList = []
        self.buttonList = []  #<--- button list is here now
        self.initUI()

    def initUI(self):

        self.entryBox = Entry(self.frame, width = 15)
        self.entryBox.grid(row=0, column=0, sticky='N')

        self.addButton = Button(self.frame, text="<-ADD->", command=self.add)
        self.addButton.grid(row=0, column=1, sticky='N')


    def removeCheckButton(self, button_no):
        # - CONFUSED HOW TO REMOVE THE SPECIFIC CHECKBUTTON
       # print(button_no, self.buttonList[button_no])
        #self.buttonList[button_no].grid_forget()
        self.buttonList[button_no].destroy()
       # del self.buttonList[button_no]
       # del self.todoList[button_no]


    def add(self):
        entry = self.entryBox.get()
        self.entryBox.delete(0, END)
        self.todoList.append(entry)
        print(self.todoList)
        var1 = IntVar()
        #self.buttonList = [] #<--- not sense having this here
      #  for n in range(len(self.todoList)): #<-- this for also very strange here.
        n = len(self.buttonList)
        lx = Checkbutton(self.listFrame,
                         text=self.todoList[n],
                         variable=self.todoList[n],
                         command=lambda ni=n: self.removeCheckButton(ni))
        lx.grid(row=n, column=0, sticky='NW')
        self.buttonList.append(lx)
         #   print(self.buttonList)


root = Tk()
app = App(root)
root.mainloop()

PS我使用python 3,但是除了import part,代码应该为您执行。可能需要更多修复,但是复选框现在已按预期方式销毁。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

选中复选框后,如何在待办事项应用程序中删除相应复选框的文本?

来自分类Dev

选中所有子复选框后,如何选中“全选”复选框?

来自分类Dev

取消选中数组中的复选框后如何删除元素?

来自分类Dev

选中默认状态后如何记住复选框状态?

来自分类Dev

选中复选框后,如何更改DIV的颜色?

来自分类Dev

选中复选框后,如何使对象可见?

来自分类Dev

选中复选框后如何执行代码?C#

来自分类Dev

选中复选框后如何回显<div>内容?

来自分类Dev

选中复选框后,如何更改DIV的颜色?

来自分类Dev

选中默认状态后如何记住复选框状态?

来自分类Dev

选中复选框后,如何禁用它?

来自分类Dev

选中复选框后如何发送通知?

来自分类Dev

选择selectpicker选项后如何选中复选框?

来自分类Dev

如何防止单击复选框后取消选中列表视图项复选框?

来自分类Dev

选中复选框后如何打印复选框的新值?

来自分类Dev

选中复选框后如何使复选框为真/假

来自分类Dev

选中复选框后,如何为复选框的标签添加边框?

来自分类Dev

如何在复选框中添加/删除选中的属性?

来自分类Dev

选中复选框后,将显示

来自分类Dev

选中后禁用复选框

来自分类Dev

选中复选框后获取坐标

来自分类Dev

在jQuery中删除选中的复选框

来自分类Dev

如果选中复选框,则删除行

来自分类Dev

如果选中复选框,则删除行

来自分类Dev

未选中子复选框时如何选中复选框主复选框?

来自分类Dev

如何根据选中的复选框禁用复选框?

来自分类Dev

如果选中复选框,如何调用函数;如果未选中,则如何从附加列表中删除

来自分类Dev

如果选中复选框,如何添加元素;如果未选中,如何将其删除?

来自分类Dev

如果选中复选框,如何添加元素;如果未选中,如何将其删除?

Related 相关文章

  1. 1

    选中复选框后,如何在待办事项应用程序中删除相应复选框的文本?

  2. 2

    选中所有子复选框后,如何选中“全选”复选框?

  3. 3

    取消选中数组中的复选框后如何删除元素?

  4. 4

    选中默认状态后如何记住复选框状态?

  5. 5

    选中复选框后,如何更改DIV的颜色?

  6. 6

    选中复选框后,如何使对象可见?

  7. 7

    选中复选框后如何执行代码?C#

  8. 8

    选中复选框后如何回显<div>内容?

  9. 9

    选中复选框后,如何更改DIV的颜色?

  10. 10

    选中默认状态后如何记住复选框状态?

  11. 11

    选中复选框后,如何禁用它?

  12. 12

    选中复选框后如何发送通知?

  13. 13

    选择selectpicker选项后如何选中复选框?

  14. 14

    如何防止单击复选框后取消选中列表视图项复选框?

  15. 15

    选中复选框后如何打印复选框的新值?

  16. 16

    选中复选框后如何使复选框为真/假

  17. 17

    选中复选框后,如何为复选框的标签添加边框?

  18. 18

    如何在复选框中添加/删除选中的属性?

  19. 19

    选中复选框后,将显示

  20. 20

    选中后禁用复选框

  21. 21

    选中复选框后获取坐标

  22. 22

    在jQuery中删除选中的复选框

  23. 23

    如果选中复选框,则删除行

  24. 24

    如果选中复选框,则删除行

  25. 25

    未选中子复选框时如何选中复选框主复选框?

  26. 26

    如何根据选中的复选框禁用复选框?

  27. 27

    如果选中复选框,如何调用函数;如果未选中,则如何从附加列表中删除

  28. 28

    如果选中复选框,如何添加元素;如果未选中,如何将其删除?

  29. 29

    如果选中复选框,如何添加元素;如果未选中,如何将其删除?

热门标签

归档