上記、label frame(name)の中にあるcomboboxをグループ化することは可能でしょう?
フォームはtkinterでデータベースはsqlite3です。
目的として、name frame 内に『あ行』、『か行』、『さ行』、『た行』、『な行』、『は行』、『ま行』、『や行』に配置してそれぞれ名前が入力されています。nameの枠内で『あ行』が選択され名前が選ばれたら、他の『か行』、『さ行』、『た行』、『な行』、『は行』、『ま行』『や行』が選択されないようにしたのですが、上手く行きません。
試したことは、radiobuttonのグループ化と同じ手順で試みましたが上手く行きません。
詳しい方がおられたらご指導ください
ソースコードは以下のとおりです
import tkinter as tk import tkinter.ttk as ttk import sqlite3 import tkinter.messagebox as msg frame12 = tk.LabelFrame(root,bd=2,relief="ridge",text=" name ",width=250,height=300,foreground="purple") frame12.place(x=10,y=0) #あ行# labe20 = tk.Label(frame12,text=" あ行 ",width=4,height=2) labe20.grid(row=0,column=0) val = tk.StringVar() box20 = ttk.Combobox(frame12, values = (" ","相田イチロウー","飯田ハナコ"), textvariable=val, state='readonly',width=8,height=2) box20.current(0) #初期値を'(index=0)'に設定 box20.grid(row=0,column=1,padx=6,ipady=3) #か行# labe21 = tk.Label(frame12,text=" か行 ",width=4,height=2) labe21.grid(row=0,column=2) val = tk.StringVar() box21 = ttk.Combobox(frame12, values = (" ","金田イチロウ","金山ハナコ"), textvariable=val, state='readonly',width=8,height=2) box21.current(0) #初期値を'(index=0)'に設定 box21.grid(row=0,column=3,padx=6,ipady=3) #さ行# labe22 = tk.Label(frame12,text=" さ行 ",width=4,height=2) labe22.grid(row=1,column=0) val = tk.StringVar() box22 = ttk.Combobox(frame12, values = (" ","塩田イチロウ","白石ハナコ"), textvariable=val, state='readonly',width=8,height=2) box22.current(0) #初期値を'(index=0)'に設定 box22.grid(row=1,column=1,padx=6,ipady=3) #た行# labe23 = tk.Label(frame12,text=" た行 ",width=4,height=2) labe23.grid(row=1,column=2) val = tk.StringVar() box23 = ttk.Combobox(frame12, values = (" ","髙山イチロー"), textvariable=val, state='readonly',width=8,height=2) box23.current(0) #初期値を'(index=0)'に設定 box23.grid(row=1,column=3,padx=6,ipady=3) #な行# labe24 = tk.Label(frame12,text=" な行 ",width=4,height=2) labe24.grid(row=2,column=0) val = tk.StringVar() box24 = ttk.Combobox(frame12, values = (" ","中嶋イチロー","野里ハナコ"), textvariable=val, state='readonly',width=8,height=2) box24.current(0) #初期値を'(index=0)'に設定 box24.grid(row=2,column=1,padx=6,ipady=3) #は行# labe25 = tk.Label(frame12,text=" は行 ",width=4,height=2) labe25.grid(row=2,column=2) val = tk.StringVar() box25 = ttk.Combobox(frame12, values = (" ","畠イチロー","濱ハナコ"), textvariable=val, state='readonly',width=8,height=2) box25.current(0) #初期値を'(index=0)'に設定 box25.grid(row=2,column=3,padx=6,ipady=3) #ま行# labe26 = tk.Label(frame12,text=" ま行 ",width=4,height=2) labe26.grid(row=3,column=0) val = tk.StringVar() box26 = ttk.Combobox(frame12, values = (" ","森山花"), textvariable=val, state='readonly',width=8,height=2) box26.current(0) #初期値を'(index=0)'に設定 box26.grid(row=3,column=1,padx=6,ipady=3) #や行# labe27 = tk.Label(frame12,text=" や行 ",width=4,height=2) labe27.grid(row=3,column=2) val = tk.StringVar() box27 = ttk.Combobox(frame12, values = (" ","加山イチロウ"), textvariable=val, state='readonly',width=8,height=2) box27.current(0) #初期値を'(index=0)'に設定 box27.grid(row=3,column=3,padx=6,ipady=3) root.mainloop() コード
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2017/12/28 05:57