我有一個程序,我想要像python外殼和改變某些單詞的顏色時,他們鍵入任何幫助?如何更改tkinter文本小部件中某些單詞的顏色?
回答
主要思路是運用標籤到您要自定義文本的部分。您可以使用方法tag_configure
創建具有特定樣式的標籤,然後您只需要使用方法tag_add
將此標籤應用於要更改的文本部分。 您也可以使用方法tag_remove
刪除標籤。
以下是使用tag_configure
,tag_add
和tag_remove
方法的示例。
#!/usr/bin/env python3
import tkinter as tk
from tkinter.font import Font
class Pad(tk.Frame):
def __init__(self, parent, *args, **kwargs):
tk.Frame.__init__(self, parent, *args, **kwargs)
self.toolbar = tk.Frame(self, bg="#eee")
self.toolbar.pack(side="top", fill="x")
self.bold_btn = tk.Button(self.toolbar, text="Bold", command=self.make_bold)
self.bold_btn.pack(side="left")
self.clear_btn = tk.Button(self.toolbar, text="Clear", command=self.clear)
self.clear_btn.pack(side="left")
# Creates a bold font
self.bold_font = Font(family="Helvetica", size=14, weight="bold")
self.text = tk.Text(self)
self.text.insert("end", "Select part of text and then click 'Bold'...")
self.text.focus()
self.text.pack(fill="both", expand=True)
# configuring a tag called BOLD
self.text.tag_configure("BOLD", font=self.bold_font)
def make_bold(self):
# tk.TclError exception is raised if not text is selected
try:
self.text.tag_add("BOLD", "sel.first", "sel.last")
except tk.TclError:
pass
def clear(self):
self.text.tag_remove("BOLD", "1.0", 'end')
def demo():
root = tk.Tk()
Pad(root).pack(expand=1, fill="both")
root.mainloop()
if __name__ == "__main__":
demo()
有一個看看這個例子:
from tkinter import *
root = Tk()
text = Text(root)
text.insert(INSERT, "Hello, world!\n")
text.insert(END, "This is a phrase.\n")
text.insert(END, "Bye bye...")
text.pack(expand=1, fill=BOTH)
# adding a tag to a part of text specifying the indices
text.tag_add("start", "1.8", "1.13")
text.tag_config("start", background="black", foreground="yellow")
root.mainloop()
tag_add(tagname,startindex [,endindex] ...) 該方法標記由startindex定義的位置或由位置startindex和endindex定界的範圍。 – 2013-02-09 09:21:49
事情是與1.8和1.13是文本是我想要它改變顏色時,文本出現 – Elxafil 2013-06-08 06:54:17
我已經做了聊天客戶端。 我使用自定義的相當容易使用的Text
小部件突出顯示對話的某些部分,它允許您使用正則表達式應用標籤。它基於以下帖子:How to highlight text in a tkinter Text widget。
在這裏你有使用的例子:
# "text" is a Tkinter Text
# configuring a tag with a certain style (font color)
text.tag_configure("red", foreground="red")
# apply the tag "red"
text.highlight_pattern("word", "red")
- 1. 根據列表中的位置更改Tkinter文本小部件中某些單詞的顏色
- 2. 如何設置某些Tkinter小部件的邊框顏色?
- 3. 在文本框中查找並更改單詞的顏色Tkinter
- 4. 更改SWT標籤中某些單詞的顏色?
- 5. 使用jquery更改Textarea中某些單詞的顏色?
- 6. 如何更改javascript中某些文本的背景顏色
- 7. ASP.NET:如何更改gridview中某些文本的顏色?
- 8. ListView:更改SubItem文本的某些部分的顏色?
- 9. 如何更改Tkinter的OptionMenu小部件的菜單背景顏色?
- 10. 更改「EditText」小部件中文本顏色的部分
- 11. Fullcalendar更改某些事件的顏色
- 12. C如何更改單詞的顏色
- 13. 如何更改文本小部件中的子文本顏色(Python)
- 14. 如何更改DataGridView中某些單元格的邊框顏色?
- 15. 如何更改HTML表單中某些元素的顏色
- 16. 如何在xtable markdown中更改某些單元格的顏色?
- 17. 如何更改文本框中某些文本的顏色 - Silverlight 3?
- 18. 顏色的某些文本
- 19. 如何更改標籤內容的某些部分的顏色
- 20. 如何更改Tkinter中的文本光標顏色?
- 21. 更改鏈接的顏色,如果它包含某些文本
- 22. 如何在Tkinter中盤旋後更改多個小部件的顏色?
- 23. 如何更改MonthCalendar控件中某些日期的顏色?
- 24. Javascript - 更改textarea中某些文本的字體顏色
- 25. 更改文本小部件中的選擇文本Tkinter
- 26. 更改WPF C中某些文本部分的顏色和字體C#
- 27. 如何使用actionscript更改單詞部分的顏色?
- 28. 如何更改文本文本視圖中單個單詞的大小和顏色
- 29. 更改TextView中一個單詞的文本顏色
- 30. xfce4/gtk-3.0 - 更改面板DateTime小部件的文本顏色?
如果我需要做與畫布文本項目相同的東西? – Kay 2017-10-24 05:48:28