1.5.0a
This commit is contained in:
parent
394beef34c
commit
bb31f2821d
9 changed files with 195 additions and 156 deletions
|
@ -1,73 +0,0 @@
|
|||
from tkinter import *
|
||||
import sys
|
||||
from tkinter.filedialog import askopenfilename, asksaveasfilename
|
||||
|
||||
|
||||
def PyIDE():
|
||||
def openFile():
|
||||
file = askopenfilename(defaultextension=".py",
|
||||
filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")])
|
||||
|
||||
if file != "":
|
||||
with open(file, "r") as openfile:
|
||||
input.delete(0.0, END)
|
||||
input.insert(0.0, openfile.read())
|
||||
|
||||
def save():
|
||||
file = asksaveasfilename(defaultextension=".py",
|
||||
filetypes=[("Python .py", ".py"), ("Python .pyw", ".pyw")])
|
||||
|
||||
if file != "":
|
||||
with open(file, "w") as saveFile:
|
||||
saveFile.write(input.get(0.0, END))
|
||||
|
||||
class TextRedirector(object):
|
||||
def __init__(self, widget, tag="stdout"):
|
||||
self.widget = widget
|
||||
self.tag = tag
|
||||
|
||||
def write(self, str):
|
||||
output.delete(0.0, END)
|
||||
self.widget.configure(state="normal")
|
||||
self.widget.insert("end", str, (self.tag,))
|
||||
self.widget.configure(state="disabled")
|
||||
self.widget.see(END)
|
||||
|
||||
def run():
|
||||
exec(input.get(0.0, END))
|
||||
|
||||
rootInterpreter = Tk()
|
||||
rootInterpreter.title("Terminal")
|
||||
rootInterpreter.geometry("200x200")
|
||||
rootInterpreter.minsize(200, 200)
|
||||
|
||||
menu = Menu(rootInterpreter)
|
||||
rootInterpreter.config(menu=menu)
|
||||
filemenu = Menu(menu)
|
||||
menu.add_cascade(label="File", menu=filemenu)
|
||||
filemenu.add_command(label="New")
|
||||
filemenu.add_command(label="Open", command=openFile)
|
||||
filemenu.add_command(label="Save", command=save)
|
||||
filemenu.add_command(label="Save As", state=DISABLED)
|
||||
filemenu.add_separator()
|
||||
filemenu.add_command(label="Exit", command=sys.exit)
|
||||
|
||||
output = Text(rootInterpreter, state=DISABLED, wrap="word")
|
||||
output.configure(state=NORMAL)
|
||||
output.configure(state=DISABLED)
|
||||
output.pack(side=TOP, expand=YES, fill=BOTH)
|
||||
|
||||
input = Text(rootInterpreter)
|
||||
input.focus()
|
||||
input.pack(side=BOTTOM, expand=YES, fill=BOTH)
|
||||
|
||||
sys.stderr = TextRedirector(output, "stderr")
|
||||
|
||||
sys.stdout = TextRedirector(output, "stdout")
|
||||
|
||||
rootInterpreter.mainloop()
|
||||
|
||||
# rootInterpreter.protocol("WM_DELETE_WINDOW", closeApp)
|
||||
|
||||
|
||||
PyIDE()
|
Reference in a new issue