![](/img/trans.png)
[英]Changing color of background of tkinter window by using colorchooser in python 3 and tkinter
[英]Tkinter - Python : Changing background color
[Person: Ahmet] is very handsome . He is working at [Organization: Zara] , their family live in [Location: Istanbul]
Person: 1
Location: 1
Organization: 1
我有这样的文本输出,我用tkinter文本显示。 我想像这样更改背景颜色:
[Person: anyword] # yellow
[Organization: anyword] #green
[Location: anyword] #orange
如何创建标签配置?
#!/usr/bin/env python
# -*- coding: utf-8 -*-
import os
import sys
import os.path
import io
import subprocess as sub
import Tkinter
from Tkinter import *
import csv
import subprocess
from tkFileDialog import *
class App(object):
def __init__(self, master):
frame = Frame(master)
frame.pack()
self.text = Text()
self.text1 = Text()
self.text.pack()
self.text1.pack()
menu = Menu(master)
root.config(menu=menu)
# file menu
filemenu = Menu(menu, tearoff=0)
menu.add_cascade(label="Browse Text File", menu=filemenu)
filemenu.add_command(label="New")
filemenu.add_command(label="Open", command=self.file_open)
filemenu.add_command(label="Save", command=self.file_save)
filemenu.add_separator()
filemenu.add_command(label="Exit", command=self.do_exit)
def file_open(self):
"""open a file to read"""
# optional initial directory (default is current directory)
initial_dir = "C:\Temp"
# the filetype mask (default is all files)
mask = \
[("Text and Python files","*.txt"),
("HTML files","*.htm"),
("All files","*.*")]
fin = askopenfile(initialdir=initial_dir, filetypes=mask, mode='r')
text = fin.read()
proc = subprocess.Popen(['python', 'ner.py', str(askopenfilename())], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
if text != None:
self.text.delete(0.0, END)
self.text.insert(END,text)
self.text1.delete(0.0, END)
self.text1.insert(END,proc.communicate()[0])
def file_save(self):
"""get a filename and save the text in the editor widget"""
# default extension is optional, here will add .txt if missing
fout = asksaveasfile(mode='w', defaultextension=".txt")
text2save = str(self.text.get(0.0,END))
fout.write(text2save)
fout.close()
def do_exit(self):
root.destroy()
root = Tk()
root.title("Named Entity Recognizer (TR)")
app = App(root)
root.mainloop()
首先,我显示原始文本,其次我显示找到ner类型的编辑文本。 我知道它可以与标签配置一起使用,但是如何在方括号内添加单词。 感谢您的帮助。
text.tag_config(“ [人:??]”,背景=“黄色”,前景=“红色”)
从某个地方的网络复制
def color_text(edit, tag, word, fg_color='black', bg_color='white'):
# add a space to the end of the word
word = word + " "
edit.insert('end', word)
end_index = edit.index('end')
begin_index = "%s-%sc" % (end_index, len(word) + 1)
edit.tag_add(tag, begin_index, end_index)
edit.tag_config(tag, foreground=fg_color, background=bg_color)
# pick word to be colored
myword1 = 'Jack'
myword2 = 'Jill'
# create a list of unique tags
tags = ["tg" + str(k) for k in range(len(word_list))]
for ix, word in enumerate(word_list):
# word[:len(myword)] for word ending with a punctuation mark
if word[:len(myword1)] == myword1:
color_text(edit, tags[ix], word, 'blue')
elif word[:len(myword2)] == myword2:
color_text(edit, tags[ix], word, 'red', 'yellow')
else:
color_text(edit, tags[ix], word)
您在这里要做的是创建一个Tkinter画布。 我不确定python 2中的确切语法,因为我使用的是3,但这只会导致较小的更改:
from Tkinter import *
root = Tk()
c = Canvas(root, width=500, height=500, bg='red') #change the color at bg
c.pack()
c.mainloop()
您可以根据输出使用变量来更改“画布”颜色。 它说bg='red'
的地方就是您更改颜色的地方。 如果我的python 2语法不正确,请告诉我,希望这对您有所帮助!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.