小さなプロジェクトのテキストエディタパイソン

あなたはこのチュートリアルシリーズを考えて入学した後、私はチュートリアルを続けるには、今、申し訳ありません。
テキストエディタ-このセクションでは、以前にガジェットを完了するための知識を学びました!

Tkinterの

テキストエディタを実装する前に、最初はTkinterのパイソンの図書館でこのことを理解します。

TkinterのGUIライブラリは、プログラム(実装するために使用するグラフィカルユーザインタフェースグラフィカル・ユーザー・インターフェース)を、我々は、Windowsシステムでは、メモ帳のようなテキストエディタ、グラフィックスがある実現します。

もちろん、などのGUIプログラムTkinterのライブラリだけでなく、より強力なPyQtは、wxPythonのを、書くことが、このセクションのためのエディタを達成するだけでなく、簡単なTkinterのライブラリは十分に持っていた、およびWindowsインストールのPythonは、通常は来ますこのライブラリはインストールする必要はありません。

テキストエディタを達成

最初のステップ - インターフェイス

まず第一に、我々は最初のエディタのグラフィカルインタフェースを記述します。

何?それはどのように始まっTkinterのライブラリを言いませんでしたか?@_@

パニックにならないでください!非常にシンプルな、次のコードを見て、私は非常に明確な注意を信じています:

import tkinter
# 导入tkinter库


win = tkinter.Tk()  # 创建窗口
win.title('文本编辑器')  # 设置标题

entry_file = tkinter.Entry(win)  # 创建一个文本输入框,用来设置文件路径
entry_file.pack()  # 放置该输入框

def do_open():
    # 打开文件
    pass
def do_save():
    # 保存文件
    pass

btn_open = tkinter.Button(win, text='打开', command=do_open)  # 创建按钮用于打开文件
btn_save = tkinter.Button(win, text='保存', command=do_save)  # 创建按钮用于保存文件

# 放置按钮
btn_open.pack()
btn_save.pack()


# 创建多行文本框,用于编辑文件
text = tkinter.Text(win)
text.pack() 

win.mainloop()  # 进入消息循环

GUIプログラムを作成Tkinterの使用、一般的に次のようなフレームワークを持っています。

win = tkinter.Tk()  # 创建窗口

# 界面的布局,如添加按钮、文本框等等

win.mainloop()  # 进入消息循环

今、あなたはこのフレームワークを理解する必要はありません、我々はうまく書き込みとおりにしました。

今、コンテナは説明しないいくつかの場所のために、一般的にコントロール(ボタン、テキストボックスと、いわゆるコントロール)最初のパラメータが配置され、メインウィンドウのコントロールで我々のプログラム、作成winオブジェクトを。

私たちは、最初のファイル操作へのパスを設定するためのテキスト入力ボックスを作成します。

キーワードパラメータを使用して、ボタンを作成しtext、キーワード引数を使用し、ラベル(テキストが表示された)ボタンを設定するためにcommand、我々は2つのボタン1は、ファイルを開くには、ファイルを保存するために作成されたボタンをクリックして物事を設定します。

最後に、ファイルを編集するための複数行のテキストボックスを作成します。

プログラムを実行すると、ウィンドウは実質的に次のように:
テキストエディタインタフェース

みんなのインターフェイスのスタイルは、この環境では、オペレーティング・システムによって異なり、少し異なる場合があります
(このセクションの焦点は、グラフィカルインタフェースではありませんので、私は、怠け者だ、そう、あなたができる興味あれば直接、唯一残される無人制御を計画する一切のインタフェースのレイアウトは、ありません具体的な使用Tkinterの彼らの検索、格好良い絵くらいのインターフェースより^_^

第二段階 - ファイルを開きます

今、私たちは、このようなコードの前にあるものを覚えて、ファイルを開くには、この機能を実現するために来ますか?

btn_open = tkinter.Button(win, text='打开', command=do_open)  # 创建按钮用于打开文件

我々は(ボタンtkinter.Button関数を作成する必要があり、実際には、これは関数ではありませんパラメータを渡し、)command=do_openクリックされたとき、このパラメータはボタンがクリックされたときに自動的に呼び出される関数を設定するために使用されているので、私たちの焦点は、自動的に呼び出され、これを達成することですdo_open機能。

プロセスファイルがどのようにそれの一種である開きますか?

  1. まず第一に、私たちは、ファイルへのパスを入力するテキスト入力ボックスから始まる、ファイルへのパスを知っておく必要があります
  2. [開く]ボタンをクリックしてください
  3. ファイルの内容を読んで、舞台裏でのファイルを開くには、[開く]ボタンをクリックし、ファイルの内容がdオーストリア複数行のテキストボックスを表示します

実際には、私たちのdo_open関数は、ファイルを開いて、第三段階を超えている=>データの読み取り=>表示データ

具体的なコードは次のよう:

def do_open():
    # 打开文件
    file_path = entry_file.get()  # 获取文本框的内容
    with open(file_path) as fr:
        # 打开文件
        content = fr.read()  #一次性读取文件内容,对大文件不宜使用
        text.delete(0.0, tkinter.END)  # 清空文本框内容
        text.insert(tkinter.END, content)  # 在光标后插入内容

我々は最初にfile_path = entry_file.get()ファイルへのパスなどのテキスト入力ボックスの内容を取得し、ファイルがコードブロックで開かれ、ファイルのデータを読み出す、データが複数行テキストボックスが表示に挿入されます。

データを挿入する前に、最初に使用しtext.delete(0.0, tkinter.END)、空のテキストボックスを、説明するのは多くはありません。具体的な使用方法は、自分自身を見ることができます。

(私はPythonのソースコードファイル自体を開くここ)例としては、次のとおりです:
ファイルを開きます

第三段階 - ファイルを保存します

ファイルを開くには、ファイルを保存するために同様の機能を実現するには、[保存]ボタンをクリックしてください:> =複数行のテキストボックスの内容を取得するファイルを開く=>ライト・ファイル

いくつかの単語の男は、コードに言いました!

def do_save():
    # 保存文件
    content = text.get(0.0, tkinter.END)  # 获取文本框内容
    file_path = entry_file.get()  # 文件路径
    with open(file_path, 'w') as fw:
        fw.write(content)  # 写入数据到文件中

GIF動的なプレゼンテーション:
ファイルを保存します

まず、私は複数行のテキストボックスに入力されabcdefghijk、ファイルパスを入力するテキストボックスを入力し1.txt、[保存]をクリックします。

テキストエリアの内容が削除された後、その後、1.TXTファイルを開くと、先ほど入力した見ることができるabcdefghijkコンテンツを、カタログを参照も見つけることができ、現在のディレクトリが実際に1.TXTファイルよりも、あなたがこれを表示するために、メモ帳を使用することができます、実際に成功したファイルを保存します!

完全なコード

今、完全なコードを投稿:

import tkinter
# 导入tkinter库


win = tkinter.Tk()  # 创建窗口
win.title('文本编辑器')  # 设置标题

entry_file = tkinter.Entry(win)  # 创建一个文本输入框
entry_file.pack()  # 放置该输入框

def do_open():
    # 打开文件
    file_path = entry_file.get()  # 获取文本框的内容
    with open(file_path) as fr:
        # 打开文件
        content = fr.read()  #一次性读取文件内容,对大文件不宜使用
        text.delete(0.0, tkinter.END)  # 清空文本框内容
        text.insert(tkinter.END, content)  # 在光标后插入内容

def do_save():
    # 保存文件
    content = text.get(0.0, tkinter.END)  # 获取文本框内容
    file_path = entry_file.get()  # 文件路径
    with open(file_path, 'w') as fw:
        fw.write(content)



btn_open = tkinter.Button(win, text='打开', command=do_open)  # 创建按钮用于打开文件
btn_save = tkinter.Button(win, text='保存', command=do_save)  # 创建按钮用于保存文件

# 放置按钮
btn_open.pack()
btn_save.pack()


# 创建多行文本框,用于编辑文件
text = tkinter.Text(win)
text.pack() 

win.mainloop()  # 进入消息循环

概要

このガジェットは、非常に単純な(そして醜いです( ̄_, ̄ ))だけでなく、知識の実用化にファイルを読み書きします。

あなたはTkinterのに興味があるなら、あなたは自分自身の学習を検索することができ、私たちは興味深いプログラムを作ることができると信じています。

おすすめ

転載: www.cnblogs.com/featherl/p/11075038.html