簡體   English   中英

如何獲取tkinter.Text Widget中某個區域的字體顏色?

[英]How to get the font color of a certain area in tkinter.Text Widget?

所以我實際上是在創建一個編碼編輯器,顯然我需要在屏幕上顯示代碼時對其進行着色。 我成功地做到了這一點,但現在,每當編輯已經着色的代碼時,文本仍然是彩色的。 (例如,用戶寫“打印”並且它變色。然后他從它的末尾刪除't'並且它變成'prin'並且它仍然是彩色的)我希望有一種方法來檢測字體顏色tkinter.Text 索引。 例如:

textArea.get_color("1.0", "1.4"))
# Returns: Black (or whatever color)

所以如果它不是正確的詞並且仍然是彩色的,應用程序可以改變它。 誰能幫我?

您可以通過首先獲取該字符的標簽列表,然后獲取最高優先級標簽的前景顏色來獲取任何文本 position 處的顏色。 如果沒有帶有前景色的標簽,則顏色是為文本小部件配置的任何顏色。

例如,它可能類似於以下內容:

def get_color(index):
    for tag in text.tag_names(index)[::-1]:
        fg = text.tag_cget(tag, "foreground")
        if fg != "":
            return fg
    return text.cget("foreground")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM