import os
import tkinter as tk
from tkinter import *
from tkinter import filedialog
#for name in os.listdir("C://"):
# print (name)
class Main(tk.Frame):
def __init__(self, root):
super().__init__(root)
self.toolbar()
def toolbar(self): # Добавляю в тулбар кнопки
toolbar = tk.Frame(bg='#d7d8e0', bd=4) # Создаём тулбар
toolbar.pack(side=tk.TOP, fill=tk.X)
self.text = Text(width=200, height=100, fg='black', wrap=WORD) # что сделать object доступным во всём классе используйте self я вот это self.textField использую в это функции saveTextField
btn_new = tk.Button(toolbar, text='Создать файл', bd = 4, command=self.newFile)
btn_new.pack(side=tk.LEFT)
btn_save = tk.Button(toolbar, text='Сохранить файл', bd = 4, command=self.saveFile)# Вот здесь вы вызываете функцию но не передаёте параметры saveTextField(self, textField << Вот) да и по моему пр таком вызове и нельзя передать параметры
btn_save.pack(side=tk.LEFT)
btn_open = tk.Button(toolbar, text='Открыть файл', bd = 4, command=self.openFile)# Вот здесь вы вызываете функцию но не передаёте параметры saveTextField(self, textField << Вот) да и по моему пр таком вызове и нельзя передать параметры
btn_open.pack(side=tk.LEFT)
def newFile(self):
self.text.pack()
self.text.insert(1.0, "# Python script editor", END)
def openFile(self):
file_selection = filedialog.askopenfilename(filetypes=(("Python files", "*.py")
,("All files", "*.*") ))
with open(file_selection, "r") as file:
script = file.read()
self.text.pack()
self.text.insert(1.0, script, END)
def saveFile(self):
file = filedialog.asksaveasfilename(filetypes=(("Python files", "*.py")
,("All files", "*.*") ))
with open(file, "w") as file:
file.write(self.text.get(1.0, END))
if __name__ == "__main__": # Если окно запущенно, то создает наше главное окно
root = tk.Tk()
app = Main(root)
app.pack()
root.title("Text 0.01v")
root.geometry("800x600+450+100")
root.resizable(True, True)
root.mainloop()