いつになれば、レベルが上がるんだろう。
まだ、こんなことをしている。
エディタづくりから、プログラミングの練習をしようと思い、始めた。
実は、ものすごい構想があるんだけど、できないと恥ずかしいので、内緒にしておく。
とりあえず、Python-tk(Tkinter)で書いてみた。
でも、スクロールバーが汚い。
短いコードで済んだけど、これでは、気に入らない。
#!/usr/bin/python
import Tkinter
import ScrolledText
root = Tkinter.Tk(className=" Santa No Text Editor")
textPad = ScrolledText.ScrolledText(root, width=100, height=80)
textPad.pack()
root.mainloop()
これならば、スクロールバーがきれいだ。
#!/usr/bin/python
from Tkinter import *
from ttk import *
class ScrolledText(Frame):
def __init__(self, parent=None, text='', file=None):
Frame.__init__(self, parent)
self.pack(expand=YES, fill=BOTH)
self.makewidgets()
self.settext(text, file)
def makewidgets(self):
sbar = Scrollbar(self)
text = Text(self, relief=SUNKEN)
sbar.config(command=text.yview)
text.config(yscrollcommand=sbar.set)
sbar.pack(side=RIGHT, fill=Y)
text.pack(side=LEFT, expand=YES, fill=BOTH)
self.text = text
def settext(self, text='', file=None):
if file:
text = open(file, 'r').read()
self.text.delete('1.0', END)
self.text.insert('1.0', text)
self.text.mark_set(INSERT, '1.0')
self.text.focus()
def gettext(self):
return self.text.get('1.0', END+'-1c')
if __name__ == '__main__':
root = Tk(className=" Santa No Text Editor")
textPad = ScrolledText(root)
textPad.pack()
root.mainloop()
これから、何ができるのか楽しみだ。SchemeやTclにも対応させたいけど、まずは勉強がてらにPythonから。
じつは、昨日のAtomエディタに触発されて、あるイメージに行き着いた。
でも、Atomでそれをやるのは難しそうなので、とりあえず、わかりやすい環境でやってみる。
wwww…笑われる? アフォーな一日でした。