十二.GUI

tkinter模塊(tkinter是一個跨平臺的PythonGUI工具包):編輯器

#Tkinter是一個跨平臺的Python GUI工具包
import tkinter
top=tkinter.Tk() #能夠不寫
btn=tkinter.Button()
#pack()控制從屬控件在所屬主體內部出現的位置
btn.pack()
btn["text"]="Click Me!"

def clicked():
    print("I was clicked!")
btn["command"]=clicked #不能是clicked(),要指向函數自己。

#下面的寫法也能夠
#btn.config(text="Click Again",command=clicked)

#若是沒有指定主控件,則指向頂級主窗口
tkinter.Button(text="Click Again",command=clicked).pack()
tkinter.Label(text="I'm in the first window!").pack()

#創建主窗口外另外一個窗口,並用label指向它
second=tkinter.Toplevel()
tkinter.Label(second,text="I'm in the second window!").pack()

for i in range(10):
    tkinter.Button(text=i).pack()

def callback(event):
    print(event.x,event.y)
#經過bind關聯事件到top
top.bind("<Button-1>",callback)

tkinter.mainloop()
print("Finish")
View Code

 

 

GUI文本編輯器:ide

#Tkinter是一個跨平臺的Python GUI工具包
import tkinter,tkinter.scrolledtext
#----------------------------------------
Top=tkinter.Tk()
Top.title("simple editor")
TextContents=tkinter.scrolledtext.ScrolledText()
#pack()控制從屬控件在所屬主體內部出現的位置
TextContents.pack(side=tkinter.BOTTOM,expand=True,fill=tkinter.BOTH)
FileName=tkinter.Entry()
FileName.pack(side=tkinter.LEFT,expand=True,fill=tkinter.X)
#----------------------------------------
def load(filename,contents):
    with open(filename.get()) as file:
        contents.delete("1.0",tkinter.END)
        contents.insert(tkinter.INSERT,file.read())
def save(filename,contents):
    with open(filename.get(),"w") as file:
        file.write(contents.get("1.0",tkinter.END))
#-----------------------------------------
def buttonLoad():
    load(FileName,TextContents)
def buttonSave():
    save(FileName,TextContents)
tkinter.Button(text="Open",command=buttonLoad).pack(side=tkinter.LEFT)
tkinter.Button(text="Save",command=buttonSave).pack(side=tkinter.LEFT)
#-----------------------------------------
tkinter.mainloop()
Myself
from tkinter import *
from tkinter.scrolledtext import ScrolledText
#---------------------
top=Tk()
top.title("simple editor")
contents=ScrolledText()
#pack()控制從屬控件在所屬主體內部出現的位置
contents.pack(side=BOTTOM,expand=True,fill=BOTH)
filename=Entry()
filename.pack(side=LEFT,expand=True,fill=X)
#----------------------
def load():
    with open(filename.get()) as file:
        contents.delete("1.0",END)
        contents.insert(INSERT,file.read())
def save():
    with open(filename.get(),"w") as file:
        file.write(contents.get("1.0",END))
#----------------------
Button(text="Open",command=load).pack(side=LEFT)
Button(text="Save",command=save).pack(side=LEFT)
mainloop()
Not Myself
相關文章
相關標籤/搜索