Python 学習:Tkinter で、Simple Editor

2014-11-14 :  PCクリニック
本文の前に、
-・・・ -・-
現時点での、blogramのランクインカテゴリは、
5、2、0、1、1、 0、0、0、0、0(41)で、換算ポイント 72pt 。
4日前とランクは変わらずだが、「グルコサミン」「Firefox」について、
2日前朝方アップし、昨日朝方ダウンしている。
相変わらず「C言語」「Firefox」「化学業界」「グルコサミン」のbg値が、
毎日の如く変動。
・-・ - -・

さて、本文。

ひょんなことから、・・・・・

「自転車生活♪」なるブログの、2014年4月8日火曜日 付記事:
ちょっとしたpythonのコード片を試すエディタ
を見つけた。
  ・・・・・
  ・・・・・
  そうこうしているうちに、エディタで書きつつ、
  その一部を実行してみたりしたいなと思ったしだいです。
  Mac OS 8.6を使っていたときには、pythonではないですが、
  そんな感じのメモ帳があってしばしば利用して便利だった
  覚えがありましたし、SqueakのWorkspaceで遊んでいると、
  あらためてエディタから、コードを実行できるといいなと思いました。
  そこでpythonでも、ちょっとしたエディタを書いてみました。
  選択したテキストをexecや、eval()に渡すだけというものですが、
  使ってみると便利ですね。
  ・・・・・
  今回は、
  pythonをインストールしたら利用できるTkinterを使いました。
  ・・・・・
  ・・・・・

それで、スクリーンキャプチャ画像が載っている。

これは便利そう。

<紙>も作りたくなった。

どう作ろうか???悩んでいたが、・・・

「KnowPapa」の
A Notepad like Text Editor designed in Python & Tkinter
を見つけ、コピペで試してみたが、・・・・・
イマイチの気がする。


更に探していたら、
「Python > GUI Tk > Editor」に、
Simple Editor
があった。

これは使える。

流用させて頂く。

'Load'、'Copy'、'Eval'、'Exec' コマンドを追加した。


追加/変更した行の主な部分は、・・・・・

from tkFileDialog import askopenfilename, asksaveasfilename # *****

class SimpleEditor(ScrolledText):
def __init__(self, parent=None, file=None):
frm = Frame(parent)
frm.pack(fill=X)
Button(frm, text='Load', command=self.onLoad).pack(side=LEFT) # *****
Button(frm, text='Save', command=self.onSave).pack(side=LEFT)
Button(frm, text='Cut', command=self.onCut).pack(side=LEFT)
Button(frm, text='Copy', command=self.onCopy).pack(side=LEFT) # *****
Button(frm, text='Paste', command=self.onPaste).pack(side=LEFT)
Button(frm, text='Eval', command=self.onEval).pack(side=LEFT) # *****
Button(frm, text='Exec', command=self.onExec).pack(side=LEFT) # *****
Button(frm, text='Find', command=self.onFind).pack(side=LEFT)
Quitter(frm).pack(side=LEFT)
ScrolledText.__init__(self, parent, file=file)
self.text.config(font=('courier', 9, 'normal'))

def onLoad(self): # *****
filename = askopenfilename()
if filename:
contents=open(filename, 'r').read()
self.settext(contents)

def onEval(self): # *****
text = self.text.get(SEL_FIRST, SEL_LAST)
print eval(text)

def onExec(self): # *****
text = self.text.get(SEL_FIRST, SEL_LAST)
exec text



これで、
「ちょっとしたpythonのコード片を試すエディタ」
に対抗(?)出来るものになったかな?


尚、「Eval」「Exec」コマンド・ボタンをクリックする前に、
対象部分を、マウスドラッグで選択しておく。


本日はここまで。


見ていただいた序でとは厚かましい限りですが、
お帰りに投票して頂けるとなお嬉しいです。 ⇒ blogram投票ボタン


141024
関連記事
スポンサーサイト

コメントの投稿

管理者にだけ表示を許可する

おきてがみ/blogram
blogram投票ボタン



おきてがみ

最新記事
カレンダー
09 | 2017/10 | 11
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31 - - - -
月別アーカイブ
カテゴリ
最新コメント
検索フォーム
リンク
プロフィール

<紙>

Author:<紙>
ようこそ。
「パソコンヲタクの雑記帳」
もろもろなことを綴っています。
パソコン ヲタクってねくら?
画像は kami でなく kani です。

カウンター(fc2、i2i) /Google Analytics


i2i(from 2010-08-24)
Total =
Today  =  
Yesterday=
アンチエイジング

Google Analytics
ブックマーク