ツリービューに行挿入する際、タグを付けて あとから当該タグに tag_configureメソッドで 色を変える記事をお見掛けします。
今回 できれば 列単位に色付けをしていきたいのですが それは無理でしょうか?(こちらなど)
以下 現行コードの抜粋ですが、紹介記事でINSERTメソッド内でtag付けしている状況に反し、カラムメソッド内でtag付けしてしまっている関係で エラーを招いています。
python
_tkinter.TclError: unknown option "-tags"
もし、解決策がある、解決策を紹介した記事がございましたら ご提示頂けましたら幸いです、よろしくお願いします。
python
def generate_subwindow(): '''モーダルダイアログボックスの作成''' dlg_modal = tk.Toplevel() # モーダルにする設定 dlg_modal.grab_set() dlg_modal.focus_set() dlg_modal.transient(root) adjust_windowsize(dlg_modal) dlg_modal.grid_columnconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], weight=1) dlg_modal.grid_rowconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], weight=1) frmTable = ttk.Frame(dlg_modal, name="frmTable") frmTable.grid(row=0, column=0, sticky=tk.E + tk.W + tk.N + tk.S) frmTable.grid_columnconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9], weight=1, minsize=40) frmTable.grid_rowconfigure([0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11], weight=1) tree4 = ttk.Treeview(frmTable, show="headings", height=15) tree4.grid(row=0, column=0, columnspan=10, rowspan=10, sticky=tk.E + tk.W, pady=(10,0), padx=(10,10)) ybar4 = ttk.Scrollbar(frmTable, orient=tk.VERTICAL, command=tree4.yview) ybar4.grid(row=0, column=9, rowspan=10, sticky=tk.N + tk.S + tk.E, pady=(10,0), padx=(0,10)) tree4.config(yscrollcommand=lambda f, l: ybar4.set(f, l)) xbar4 = ttk.Scrollbar(frmTable, orient=tk.HORIZONTAL, command=tree4.xview) xbar4.grid(row=10, column=0, columnspan=10, sticky=tk.N + tk.S + tk.E + tk.W, padx=(10,10)) tree4.config(xscrollcommand=lambda f, l: xbar4.set(f, l)) #ヘッダ挿入 tblno = "TABLE" + cmbox_Tbl1.get().split(" : ")[0] lst_tmp = get_TBINFO(tblno) lst_header = [] lst_key = [] if len(lst_tmp) > 0: for i1 in lst_tmp: lst_header.append(i1[1]) if i1[5] > 0: lst_key.append(i1[1]) #表上で色分けするため プライマリキーをリストに格納 tree4["columns"] = lst_header for i2 in tree4["columns"]: tree4.heading(i2, text=i2, anchor='center') if i2 in lst_key: tree4.column(i2, anchor='center', tags="red") #★色かえるためタグつけるが行単位・予め定義不可?★ else: tree4.column(i2, anchor='center') viewno = "VIEW" + cmbox_Tbl1.get().split(" : ")[0] lst_tmp = get_VIEWDATA(viewno) idx = 0 if len(lst_tmp) > 0: for i in lst_tmp: lst = list(i) 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:] tree4.insert(parent='', index=tk.END, iid=idx ,values=lst) idx += 1 tree4.tag_configure("red", foreground="red") #★そうは問屋が卸さないらしい... btn_ReturnConvMenu = ttk.Button(frmTable, text = "閉じる", command=dlg_modal.destroy) btn_ReturnConvMenu.grid(row=11, column=9, sticky=tk.N + tk.S + tk.E + tk.W, padx=(0,10)) dlg_modal.resizable(0,0) dlg_modal.protocol('WM_DELETE_WINDOW', (lambda: 'pass')())
まだ回答がついていません
会員登録して回答してみよう