tkinter模块(tkinter是一个跨平台的PythonGUI工具包):

  1. #Tkinter是一个跨平台的Python GUI工具包
  2. import tkinter
  3. top=tkinter.Tk() #可以不写
  4. btn=tkinter.Button()
  5. #pack()控制从属控件在所属主体内部出现的位置
  6. btn.pack()
  7. btn["text"]="Click Me!"
  8.  
  9. def clicked():
  10. print("I was clicked!")
  11. btn["command"]=clicked #不能是clicked(),要指向函数本身。
  12.  
  13. #下面的写法也可以
  14. #btn.config(text="Click Again",command=clicked)
  15.  
  16. #如果没有指定主控件,则指向顶级主窗口
  17. tkinter.Button(text="Click Again",command=clicked).pack()
  18. tkinter.Label(text="I'm in the first window!").pack()
  19.  
  20. #建立主窗口外另一个窗口,并用label指向它
  21. second=tkinter.Toplevel()
  22. tkinter.Label(second,text="I'm in the second window!").pack()
  23.  
  24. for i in range(10):
  25. tkinter.Button(text=i).pack()
  26.  
  27. def callback(event):
  28. print(event.x,event.y)
  29. #通过bind关联事件到top
  30. top.bind("<Button-1>",callback)
  31.  
  32. tkinter.mainloop()
  33. print("Finish")

GUI文本编辑器:

  1. #Tkinter是一个跨平台的Python GUI工具包
  2. import tkinter,tkinter.scrolledtext
  3. #----------------------------------------
  4. Top=tkinter.Tk()
  5. Top.title("simple editor")
  6. TextContents=tkinter.scrolledtext.ScrolledText()
  7. #pack()控制从属控件在所属主体内部出现的位置
  8. TextContents.pack(side=tkinter.BOTTOM,expand=True,fill=tkinter.BOTH)
  9. FileName=tkinter.Entry()
  10. FileName.pack(side=tkinter.LEFT,expand=True,fill=tkinter.X)
  11. #----------------------------------------
  12. def load(filename,contents):
  13. with open(filename.get()) as file:
  14. contents.delete("1.0",tkinter.END)
  15. contents.insert(tkinter.INSERT,file.read())
  16. def save(filename,contents):
  17. with open(filename.get(),"w") as file:
  18. file.write(contents.get("1.0",tkinter.END))
  19. #-----------------------------------------
  20. def buttonLoad():
  21. load(FileName,TextContents)
  22. def buttonSave():
  23. save(FileName,TextContents)
  24. tkinter.Button(text="Open",command=buttonLoad).pack(side=tkinter.LEFT)
  25. tkinter.Button(text="Save",command=buttonSave).pack(side=tkinter.LEFT)
  26. #-----------------------------------------
  27. tkinter.mainloop()

Myself

  1. from tkinter import *
  2. from tkinter.scrolledtext import ScrolledText
  3. #---------------------
  4. top=Tk()
  5. top.title("simple editor")
  6. contents=ScrolledText()
  7. #pack()控制从属控件在所属主体内部出现的位置
  8. contents.pack(side=BOTTOM,expand=True,fill=BOTH)
  9. filename=Entry()
  10. filename.pack(side=LEFT,expand=True,fill=X)
  11. #----------------------
  12. def load():
  13. with open(filename.get()) as file:
  14. contents.delete("1.0",END)
  15. contents.insert(INSERT,file.read())
  16. def save():
  17. with open(filename.get(),"w") as file:
  18. file.write(contents.get("1.0",END))
  19. #----------------------
  20. Button(text="Open",command=load).pack(side=LEFT)
  21. Button(text="Save",command=save).pack(side=LEFT)
  22. mainloop()

Not Myself

十二.GUI的更多相关文章

  1. Android系统--输入系统(十二)Dispatch线程_总体框架

    Android系统--输入系统(十二)Dispatch线程_总体框架 1. Dispatch线程框架 我们知道Dispatch线程是分发之意,那么便可以引入两个问题:1. 发什么;2. 发给谁.这两个 ...

  2. JAVA之旅(三十二)——JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用

    JAVA之旅(三十二)--JAVA网络请求,IP地址,TCP/UDP通讯协议概述,Socket,UDP传输,多线程UDP聊天应用 GUI写到一半电脑系统挂了,也就算了,最多GUI还有一个提示框和实例, ...

  3. Gradle 1.12 翻译——第十二章 使用Gradle 图形用户界面

    有关其他已翻译的章节请关注Github上的项目:https://github.com/msdx/gradledoc/tree/1.12,或访问:http://gradledoc.qiniudn.com ...

  4. 201771010126 王燕《面向对象程序设计(Java)》第十二周学习总结

    实验十二  图形程序设计 实验时间 2018-11-14 1.实验目的与要求 (1) 掌握Java GUI中框架创建及属性设置中常用类的API: 创建空框架 . 在Java中,常采用框架(Frame) ...

  5. 马凯军201771010116《面向对象与程序设计Java》第十二周学习总结

    一.理论与知识学习部分 Java的抽象窗口工具箱(Abstract Window Toolkit, AWT)包含在java.awt包中,它提供了许多用来设计GUI的组件类和容器类. 大部分AWT组件都 ...

  6. 刘志梅2017710101152.《面向对象程序设计(java)》第十二周学习总结

    实验十二  图形程序设计 实验时间 2018-11-14 1.理论知识 (1) 基本AWT库采用将处理用户界面元素的任务委派给每个目标平台的本地GUI工具箱的方式,由本地GUI工具箱负责用户界面元素的 ...

  7. 201771010134杨其菊《面向对象程序设计java》第十二周学习总结

    第十二周学习总结 第一部分:理论知识 内容概要: AWT与Swing简介:框架的创建:图形程序设计: 显示图像: 1.AWT组件: 2.Swing 组件层次关系 3 .AWT与Swing的关系:大部分 ...

  8. JMeter—监听器(十二)

    参考<全栈性能测试修炼宝典JMeter实战>第六章 JMeter 元件详解中第七节监听器用来显示JMeter取样器的测试结果,能够以树.表.图形形式显示,也可以以文件方式保存. 一.设置默 ...

  9. 第十二周作业_PSP总结报告

    回顾1 (1)回想一下你曾经对计算机专业的畅想 当初你是如何做出选择计算机专业的决定的?经过一个学期,你的看法改变了么,为什么? 你认为过去接触到的课程是否符合你对计算机专业的期待,为什么?经过一个学 ...

随机推荐

  1. wordpress数据库结构及表说明

    数据表结构: wp_commentmeta:存储评论的元数据wp_comments:存储评论wp_links:存储友情链接(Blogroll)wp_options:存储WordPress系统选项和插件 ...

  2. SpringBoot | contrller的使用

    @Controller 处理http请求 @RestController Spring4之后新加的注解,原来返回json需要@ResponseBody配合@Controller @RequestMap ...

  3. python中的栈

    # @File: stack # 列表实现栈 class MyStack(object): def __init__(self): self.data = [] def push(self, item ...

  4. HDFS Java API

    HDFS Java API 搭建Hadoop客户端与Java访问HDFS集群

  5. vue+typescript入门学习

    最近想要结合vue学习typescript,了解到vue2.5之后开始支持typescript,就像拿vue学习一下,首先要解决的就是环境的搭建,略微麻烦,如果想要自己体验一把,可以参考这篇文章htt ...

  6. imagettftext

    ImageTTFText 写 TTF 文字到图中. 语法: array ImageTTFText(int im, int size, int angle, int x, int y, int col, ...

  7. 用IARIdePm新建STM8工程步骤

    IARdePm 如何新建工程及其调用库函数1.新建文件夹,例如,新建文件夹名字(不能为中文)为:Lib_test_GPIO_OUT2.新建工程,Create New Project...,选择Empt ...

  8. pip 安装管理失败解决

    问题: pip install ansible 错误: src/hash_template.c:361: warning: implicit declaration of function ‘Py_F ...

  9. 2. UITest相关APIs

    1. XCUIApplication 这是你正在测试的应用的代理.它能让你启动应用,这样你就能执行测试了.它每次都会新起一个进程,这会多花一些时间,但是能保证测试应用时的状态是干净的,这样你需要处理的 ...

  10. HttpURLConnection读取http信息

    废话不多说,直接上code. package mytest; import java.io.BufferedReader; import java.io.IOException; import jav ...