nur funktionieren "farbige umlaute" nicht...
hier mal der code:
Code: Alles auswählen
# -*- coding: cp1252 -*-
import Tkinter as tk
import random
class Farbfenster:
def __init__(self,master):
self.tags=[]
self.taglist={"1":"#0000B0",
"2":"#00B000",
"3":"#00B0B0",
"4":"#B00000",
"5":"#B000CC",
"6":"#B0B000",
"7":"#B0B0B0",
"8":"#DDFFBB",
"9":"#0070FF",
"!":"#0000FF",
"@":"#00FF00",
"#":"#00FFFF",
"$":"#FF0000",
"%":"#FF00FF",
"^":"#FFFF00",
"&":"#FFFFFF",
"T":"#6b563f",
"t":"#F8DB83",
"r":"#EEBBEE",
"R":"#EEBBEE",
"V":"#9A5BEE",
"v":"#AABBEE",
"g":"#aaff99",
"Q":"#FF6600",
"q":"#FF9900",
"~":"#000000"}
self.master=master
self.scrollbar=tk.Scrollbar(master)
self.scrollbar.pack(side=tk.RIGHT, fill=tk.Y)
self.text=tk.Text(master,
bg="#352D20",
fg="white",
yscrollcommand=self.scrollbar.set)
self.text.pack(fill=tk.BOTH)
self.scrollbar.config(command=self.text.yview)
self.textentry=tk.Entry(root,width=50)
self.textentry.pack(side=tk.LEFT)
self.parsebutton=tk.Button(root,text="Parse!",command=self.parse)
self.parsebutton.pack(side=tk.LEFT)
self.master.bind_all("<Return>",self.parse)
temp=""
for i in self.taglist.keys():
self.add("1."+str(len(temp)),"`"+i+" ",self.taglist[i])
del temp
self.text.insert("end","\n")
self.textentry.focus_set()
def add(self,index,text,farbe):
self.tags.append(str(index)+str(text)+str(farbe)+str(random.random()))
self.text.insert(index,text)
self.text.tag_add(self.tags[-1],index,index+str(len(text)))
self.text.tag_configure(self.tags[-1],foreground=farbe)
def pack(self,**kw):
self.text.pack(**kw)
def parse(self,*ev):
content=self.textentry.get()
#print content
self.text.insert("end",u"[ %s ]:\t%s Zeichen\n"%(content,len(content)))
if "`" in content:
parts=[]
lineanz=len(self.text.get("1.0","end").splitlines())
#print lineanz
x=content.split("`")
for i in x[1:]:
parts.append(str(i))
tempstr=x[0]
self.text.insert("end",tempstr)
for i in parts:
text=u"%s"%i[1:]
self.add(str(lineanz)+"."+str(len(tempstr)),text,self.taglist[i[0]])
tempstr+=text
else:
self.text.insert("end",content)
self.text.insert("end","\n")
root=tk.Tk()
root.title("Farbenwahl")
root.resizable(0,0)
textwindow=Farbfenster(root)
#textwindow.add("1.0","Hallo\n","red")
root.mainloop()
umlaute, die nicht farbig sind funktionieren...
Funktionsweise der farbigen schrift:
`+farbtag+textderinderfarbeseinsoll
man kann auch mehrere kominieren zb:
`2dunkel`@hell
das funktioniert:
ü`1blau
das net:
`2grün
kann mir jemand helfen?