Tkinterでaskopenfilenameのファイルを開いて読み取る?
ユーザーがディレクトリからファイルを開きたい場合、これを行うための推奨される方法は、ユーザーが開くファイルを選択するポップアップを表示することです。ほとんどのツールやウィジェットと同様に、Tkinterは、ファイルを開いたり、ファイルを読み取ったり、ファイルを保存したりするためのダイアログを開く方法を提供します。これらの機能はすべて、ファイルダイアログの一部です。 Pythonのモジュール。他のウィジェットと同様に、filedialogはノートブックに明示的にインポートする必要があります。 askdirectory、askopenfilename、askopenfile、askopenfilenames、asksaveasfilenameなどのファイルダイアログを含む特定の他のモジュールがあります。
例
この例では、 askopenfilenameを使用してファイルを開いて読み取る関数を定義します。 。
ファイルを開くためのボタンを含むアプリケーションを定義し、ファイルのコンテンツをラベルウィジェットにパックします。ファイルの内容を読み取るために、 read()を使用します ファイル名と一緒にメソッド。
#Import tkinter library from tkinter import * from tkinter import ttk from tkinter import filedialog #Create an instance of tkinter frame or window win= Tk() win.geometry("750x150") #Define a function to Opening the specific file using filedialog def open_files(): path= filedialog.askopenfilename(title="Select a file", filetypes=(("text files","*.txt"), ("all files","*.*"))) file= open(path,'r') txt= file.read() label.config(text=txt, font=('Courier 13 bold')) file.close() button.config(state=DISABLED) win.geometry("750x450") #Create an Empty Label to Read the content of the File label= Label(win,text="", font=('Courier 13 bold')) label.pack() #Create a button for opening files button=ttk.Button(win, text="Open",command=open_files) button.pack(pady=30) win.mainloop()
出力
上記のコードを実行すると、ボタンを含むウィンドウが表示されます。このボタンをクリックすると、ファイルの内容を読み込んで読み取るための新しいウィンドウが開きます。
[開く]ボタンをクリックして、ウィンドウ内のファイル(テキスト、 "*")を開きます。
-
子ウィンドウを作成し、Tkinterで親と通信するにはどうすればよいですか?
他のPythonライブラリとは異なり、Tkinterには、本格的なアプリケーションを作成するために使用される多くの機能があります。複数のウィンドウ操作と、Windowsで操作を処理するためのスレッド化をサポートしています。 スレッドに続いて、ルートウィンドウからデータをプルして子ウィンドウに配置するアプリケーションを作成します。子ウィンドウの概念は、イベントの発生中にユーザーに情報を表示するダイアログボックスと呼ばれることがあります。 Tkinterの子ウィンドウは、 Toplevel(root)を使用して非常に簡単に作成できます。 コンストラクター。 例 この例では、メインウィンドウにボ
-
TkinterでUnicodeと特殊文字を使用するにはどうすればよいですか?
TkinterアプリケーションにUnicodeと特別な文字セットを追加する必要がある場合があります。署名を連結するラベルまたはウィジェットに、 u‘/ ’のようにUnicode文字を追加できます。 。ここからすべてのUnicode文字のリストを見つけることができます この例では、ボタンウィジェットにUnicode文字を追加します。 例 # Import the required Libraries from tkinter import * #Create an instance of tkinter frame win= Tk() win.geometry("700x200&q