質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
87.20%
Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

解決済

TkInter: treeviewの背景色・文字色を行単位に変える記事の紹介が目立ちます、列単位に変更することはできないでしょうか

saya24
saya24

総合スコア209

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

1回答

0評価

0クリップ

521閲覧

投稿2021/12/05 04:47

編集2021/12/05 05:43

ツリービューに行挿入する際、タグを付けて あとから当該タグに 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')())

良い質問の評価を上げる

以下のような質問は評価を上げましょう

  • 質問内容が明確
  • 自分も答えを知りたい
  • 質問者以外のユーザにも役立つ

評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

気になる質問をクリップする

クリップした質問は、後からいつでもマイページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

  • プログラミングに関係のない質問
  • やってほしいことだけを記載した丸投げの質問
  • 問題・課題が含まれていない質問
  • 意図的に内容が抹消された質問
  • 過去に投稿した質問と同じ内容の質問
  • 広告と受け取られるような投稿

評価を下げると、トップページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

まだ回答がついていません

会員登録して回答してみよう

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
87.20%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問

同じタグがついた質問を見る

Tkinter

Tkinterは、GUIツールキットである“Tk”をPythonから利用できるようにした標準ライブラリである。

Python

Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。