所以,tkinter文本編輯器!
編輯器顯然需要有文本樣式,需要使用標籤將打印文本更改爲當前選擇的格式。但問題是標籤名稱在格式更改時需要更改,否則標籤將應用於整個文本。 (這是我努力找出相當長的一段時間的問題)
爲了避免這種情況,你需要的標籤很多(如bold, both, calibri
等),所以代碼看起來像這樣tkinter - 管理多個標籤
if style == 'bold':
tag_add('bold', 'insert -1c', 'insert')
tag_configure('bold', font=('Calibri', 12, 'bold'))
if stlye == 'italic':
etc etc
這是糟糕的代碼,並且使不同的字體/大小不可能。
是否有舉辦多個標籤這樣的一個正確的方式,像
tag.add(currentstyle, 'insert -1c', 'insert')
tag.config(currentstyle, font=(currentfont, currentsize, currentweight, currentslant))
感謝您的幫助
UPDATE
從布萊恩
tagname = '{}-{}-{}-{}'.format(font, fontsize, weight, slant)
textbox.tag_add(tagname, 'insert -1c', 'insert')
textbox.tag_configure(tagname, font=(font, fontsize, weight, slant))
有幫助不小的解決
現在每個標籤都有唯一的名稱
猜你要覺得有時候框外,由於 – EriktheRed
@EriktheRed:Tkinter的更像是一家木材店比一個傢俱店你。可以與Tkinter創建非常好的界面,但有時您必須自己完成這項工作。 –