Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/320.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_Tk - Fatal编程技术网

Python 带有复选框的列表框

Python 带有复选框的列表框,python,tkinter,tk,Python,Tkinter,Tk,我想制作带有复选框的列表框。我现在只做了一个列表框,但我不知道如何在其中设置复选框。然后我想创建一个按钮,这样我就可以打印所有选中的项目。你能帮帮我吗 from tkinter import * myApp=Tk() LB=Listbox(myApp,selectmode=EXTENDED) LB.grid(row=1,column=1) LB.insert(1,"Option 1") LB.insert(2,"Option 2") LB.insert(3,"Option 3") myAp

我想制作带有复选框的列表框。我现在只做了一个列表框,但我不知道如何在其中设置复选框。然后我想创建一个按钮,这样我就可以打印所有选中的项目。你能帮帮我吗

from tkinter import *

myApp=Tk()

LB=Listbox(myApp,selectmode=EXTENDED)
LB.grid(row=1,column=1)
LB.insert(1,"Option 1")
LB.insert(2,"Option 2")
LB.insert(3,"Option 3")

myApp.mainloop()

下面将为您提供检查按钮 但不是在列表框中。列表框只能包含文本

from tkinter import Tk, IntVar, Checkbutton, Button, W


def print_button_callback():
    global state
    for i in range(3):
        if state[i][1].get():
            print(state[i][0])

myApp=Tk()
state = [("Option {0}".format(i+1),IntVar()) for i in range(3)]

for i in range(3):
    Checkbutton(myApp, text=state[i][0], variable=state[i][1]).grid(row=i, sticky=W)

Button(myApp, text="Print", command=print_button_callback).grid(row=3, sticky=W)


myApp.mainloop()

不建议您使用tkinter import*中的
。这可能会导致问题。我应该使用什么?
import tkinter
是一种方法。然后需要使用
tkinter.insert()
。或者避免每次输入
tkinter
时将其定义为其他内容。例如,
将tkinter作为tk导入
。这将是
tk.insert()
您不能在列表框中放置复选框。选择通过突出显示显示。存在,至少通过Python3.6实现。我需要将复选框放入listbox。您不能将复选框插入listbox。列表框只能包含文本。如果需要列表框,可以在选中时在文本中插入勾号字符,取消选中时将其删除,但这听起来像是重新发明轮子:)