2017-12-18 65 views
2

リストボックスにチェックボックスを入れたいと思っています。私は今のところlistboxしか作っていませんが、チェックボックスを入れる方法はわかりません。そして、ボタンを作成して、選択したすべてのアイテムを印刷できるようにします。手伝ってくれませんか?リストボックス(チェックボックス付き)Python

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() 
+1

'from tkinter import *'は使用しないことをお勧めします。これは問題を引き起こす可能性があります。 – Simon

+0

どうすればいいですか? – taga

+2

'import tkinter'は片道です。それで 'tkinter.insert()'を使う必要があります。あるいは、あなたが何か他のものとして定義できるたびに、 'tkinter'をタイプすることから自分を救うためです。たとえば、 'tkinter as tk'をインポートします。これは 'tk.insert()' – Simon

答えて

0

以下は ではなく、リストボックスにあなたのチェックボタンを与えるだろう。リストボックスはテキストのみを含むことができます。

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() 
+0

リストボックスにチェックボックスを入れる必要があります – taga

+0

リストボックスにチェックボックスを挿入することはできません。リストボックスはテキストのみを含むことができます。 –

+2

リストボックスが必要な場合は、選択時にテキスト文字を挿入し、選択解除するとその文字を取り除くことができますが、ホイールの再インストゥルメントのように聞こえます:) –

関連する問題