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")

GUI文本编辑器:

#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

最新文章

  1. Tomcat启动报错org.springframework.web.context.ContextLoaderListener类配置错误——SHH框架
  2. [MySQL] Buffer Pool Adaptive Flush
  3. 自己家里搭建NAS服务器有什么好方案?
  4. Inline Workers--Web workers without a separate Javascript file
  5. [芯片] 3、接口技术&#183;实验三&#183;可编程并行接口8255A
  6. HDU 5826 physics(物理)
  7. Spark系列—02 Spark程序牛刀小试
  8. linux上nagios安装完整版
  9. 手把手教你js原生瀑布流效果实现
  10. html屏蔽右键、禁止复制与禁止查看源代码
  11. ASP.NET MVC4 微信公众号开发之网页授权(二):通过公众号AppID(应用ID)和AppSecret(应用密钥)取得网页授权openid
  12. http协议中302和303的区别
  13. 数电基础之《OC门》
  14. Flink的Windows
  15. centos7救援模式--rescue模式
  16. FB01与F-02的区别(转载)
  17. adb命令(笔记)
  18. [控件] TranformFadeView
  19. C语言实现顺序表
  20. LeetCode:43. Multiply Strings (Medium)

热门文章

  1. 1392:繁忙的都市(city)
  2. 2019 年 Vue 学习路线图!
  3. 最短路之Dijkstra(迪杰斯特拉)
  4. Spring事务引发dubbo服务注册问题
  5. set有关的函数的用法(The SetStack Computer UVA - 12096)
  6. eclipse 闪退原因
  7. AJPFX实现兔子问题
  8. DMA简介
  9. innerHTML引起IE的内存泄漏
  10. 保密安全风险自评估单机版检查工具V1.0