ツリービューに行挿入する際、タグを付けて あとから当該タグに tag_configureメソッドで 色を変える記事をお見掛けします。
今回 できれば 列単位に色付けをしていきたいのですが それは無理でしょうか?(こちらなど)
以下 現行コードの抜粋ですが、紹介記事でINSERTメソッド内でtag付けしている状況に反し、カラムメソッド内でtag付けしてしまっている関係で エラーを招いています。
python
1_tkinter.TclError: unknown option "-tags"
もし、解決策がある、解決策を紹介した記事がございましたら ご提示頂けましたら幸いです、よろしくお願いします。
python
1def generate_subwindow(): 2 3 '''モーダルダイアログボックスの作成''' 4 dlg_modal = tk.Toplevel() 5 6 # モーダルにする設定 7 dlg_modal.grab_set() 8 dlg_modal.focus_set() 9 dlg_modal.transient(root) 10 11 adjust_windowsize(dlg_modal) 12 13 dlg_modal.grid_columnconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], weight=1) 14 dlg_modal.grid_rowconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], weight=1) 15 16 frmTable = ttk.Frame(dlg_modal, name="frmTable") 17 frmTable.grid(row=0, column=0, sticky=tk.E + tk.W + tk.N + tk.S) 18 frmTable.grid_columnconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], weight=1, minsize=40) 19 frmTable.grid_rowconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], weight=1) 20 21 tree4 = ttk.Treeview(frmTable, show="headings", height=15) 22 tree4.grid(row=0, column=0, columnspan=10, rowspan=10, sticky=tk.E + tk.W, pady=(10,0), padx=(10,10)) 23 24 ybar4 = ttk.Scrollbar(frmTable, orient=tk.VERTICAL, command=tree4.yview) 25 ybar4.grid(row=0, column=9, rowspan=10, sticky=tk.N + tk.S + tk.E, pady=(10,0), padx=(0,10)) 26 tree4.config(yscrollcommand=lambda f, l: ybar4.set(f, l)) 27 28 xbar4 = ttk.Scrollbar(frmTable, orient=tk.HORIZONTAL, command=tree4.xview) 29 xbar4.grid(row=10, column=0, columnspan=10, sticky=tk.N + tk.S + tk.E + tk.W, padx=(10,10)) 30 tree4.config(xscrollcommand=lambda f, l: xbar4.set(f, l)) 31 32 #ヘッダ挿入 33 tblno = "TABLE" + cmbox_Tbl1.get().split(" : ")[0] 34 lst_tmp = get_TBINFO(tblno) 35 lst_header = [] 36 lst_key = [] 37 if len(lst_tmp) > 0: 38 for i1 in lst_tmp: 39 lst_header.append(i1[1]) 40 if i1[5] > 0: 41 lst_key.append(i1[1]) #表上で色分けするため プライマリキーをリストに格納 42 43 tree4["columns"] = lst_header 44 for i2 in tree4["columns"]: 45 tree4.heading(i2, text=i2, anchor='center') 46 if i2 in lst_key: 47 tree4.column(i2, anchor='center', tags="red") #★色かえるためタグつけるが行単位・予め定義不可?★ 48 else: 49 tree4.column(i2, anchor='center') 50 51 52 viewno = "VIEW" + cmbox_Tbl1.get().split(" : ")[0] 53 lst_tmp = get_VIEWDATA(viewno) 54 idx = 0 55 if len(lst_tmp) > 0: 56 for i in lst_tmp: 57 lst = list(i) 58 lst[0] = lst[0][0:4] + "/" + lst[0][4:6] + "/" + lst[0][6:8] + " " + lst[0][8:10] + ":" + lst[0][10:12] + ":" + lst[0][12:] 59 tree4.insert(parent='', index=tk.END, iid=idx ,values=lst) 60 idx += 1 61 62 tree4.tag_configure("red", foreground="red") #★そうは問屋が卸さないらしい... 63 64 btn_ReturnConvMenu = ttk.Button(frmTable, text = "閉じる", command=dlg_modal.destroy) 65 btn_ReturnConvMenu.grid(row=11, column=9, sticky=tk.N + tk.S + tk.E + tk.W, padx=(0,10)) 66 67 dlg_modal.resizable(0,0) 68 dlg_modal.protocol('WM_DELETE_WINDOW', (lambda: 'pass')())
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/05 10:51