エディタをツクル(アフォなカスタマイズ)Python | ..あちゃ! no mic's

..あちゃ! no mic's

野良作業でウクレレサイズの楽器製作中(構造材としての剛性をテスト)

SANTA no Mix

いつになれば、レベルが上がるんだろう。
まだ、こんなことをしている。

エディタづくりから、プログラミングの練習をしようと思い、始めた。
実は、ものすごい構想があるんだけど、できないと恥ずかしいので、内緒にしておく。

とりあえず、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…笑われる? アフォーな一日でした。