python gui 之库tkinter笔记

Label(标签控件,可以显示文本)

from tkinter import *# 这样导入包后面引用库里的东西不需要库名前缀#import tkinter这种导入方式需要
win = Tk()
win.title('窗口')
win.geometry('400x300+200+100')#x是英文字母小写x  窗口的长x宽+屏幕左上角距离
label = Label(win,text='这是一个标签',bg='pink',fg='red',font=("黑体",20),width=20,height=10,wraplength=100,justify="left",anchor="ne"))
label.pack()#打包布局
win.mainloop()#显示窗口
''' win:父窗体 text:显示的文本内容 bg:背景色 fg:字体颜色 font:字体 wraplength:指定text文本中多宽之后换行 justify:设置换行后的对齐方式 anchor:位置 n北,e东,w西,s南,center居中;还可以写在一起:ne东北方向'''

Button(按钮控件,可绑定事件)

from tkinter import *
def func():print('Hello World')
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
bt1 = Button(win,text='绑定函数',command=func)
bt1.pack()
button3 = Button(win, text="按钮",\ command=lambda:print("bbbbbbbbbbbb"))
button3.pack()
bt2 = Button(win,text='退出',command=win.quit)
bt2.pack()
win.mainloop()

Entry(输入控件,显示简单文本内容)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
#密文显示
entry1 = Entry(win,show='*')#show可以用于密码框输入
entry1.pack()
#绑定变量
e = Variable()
entry2 = Entry(win,textvariable=e)
entry2.pack()
e.set('你好啊!')#给e设定一个值
print(e.get())#打印e的取值
print(entry2.get())#打印e的值在entry2里面
win.mainloop()

Text(文本控件,显示多行文本)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
scroll = Scrollbar()#创建滚动条
scroll.pack(side=RIGHT,fill=Y)
text = Text(win, width=30, height=10)#height显示行数
text.pack(side=LEFT,fill=Y)
scroll.config(command=text.yview)
text.config(yscrollcommand=scroll.set)
str = '''盖闻天地之数,有十二万九千六百岁为一元。将一元分为十二会,乃子、丑、寅、卯、辰、巳、午、未、申、酉、戌、亥之十二支也。每会该一万八百岁。且就一日而论:子时得阳气,而丑则鸡鸣;寅不通光,而卯则日出;辰时食后,而巳则挨排;日午天中,而未则西蹉;申时晡而日落酉;戌黄昏而人定亥。譬于大数,若到戌会之终,则天地昏蒙而万物否矣。再去五千四百岁,交亥会之初,则当黑暗,而两间人物俱无矣,故曰混沌。又五千四百岁,亥会将终,贞下起元,近子之会,而复逐渐开明。邵康节曰:“冬至子之半,天心无改移。一阳初动处,万物未生时。”到此,天始有根。再五千四百岁,正当子会,轻清上腾,有日,有月,有星,有辰。日、月、星、辰,谓之四象。故曰,天开于子。又经五千四百岁,子会将终,近丑之会,而逐渐坚实。易曰:“大哉乾元!至哉坤元!万物资生,乃顺承天。”至此,地始凝结。再五千四百岁,正当丑会,重浊下凝,有水,有火,有山,有石,有土。水、火、山、石、土谓之五形。故曰,地辟于丑。又经五千四百岁,丑会终而寅会之初,发生万物。'''
text.insert(tkinter.INSERT, str)
win.mainloop()

Menu(顶层菜单)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
menubar = Menu(win)#菜单条
win.config(menu=menubar)
def func():print('你好啊!')
menu1 = Menu(menubar,tearoff=False)#创建一个菜单选项
for item in ['python','c','java','c++','c#','php','B','退出']:if utem == '退出':menu1.add_separator()#添加分隔线menu1.add_command(label=item,command=win.quit)else:menu1.add_command(label=item,command=func)
menubar.add_cascade(label='语言',menu=menu1)#向菜单条添加菜单选项
def showMenu(event):menubar.post(event.X_root,event.y_root)
win.bind('<Button-3>',showMenu)#鼠标右键菜单(1,2,3->左,中,右键)
win.loop()

Frame(框架控件:桌面上显示一个矩形区域,作为容器控件)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
fr = Frame(win)
fr.pack()
fr1 = Frame(fr)
Label(fr1,text='左上',bg='pink').pack(side=TOP)
Label(fr1,text='左下',bg='blue').pack(side=TOP)
fr1.pack(side=LEFT)
fr2 = Frame(fr)
Label(fr2,text='右上',bg='green').pack(side=TOP)
Label(fr2,text='右下',bg='red').pack(side=TOP)
fr2.pack(side=RIGHT)
win.mainloop()

place(绝对布局,窗口变化对位置没有影响)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
label1 = Label(win,text='good',bg='blue')
label2 = Label(win,text='nice',bg='red')
label3 = Label(win,text='cool',bg='green')
label1.place(x=10,y=10)
label2.place(x=10,y=50)
label3.place(x=10,y=100)
win.mainloop()

pack(相对布局,窗体改变对控件有影响)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
label1 = Label(win,text='good',bg='blue')
label2 = Label(win,text='nice',bg='red')
label3 = Label(win,text='cool',bg='green')
label1.pack(fill=Y,side=LEFT)
label2.pack(fill=X,side=TOP)
label3.pack()
win.mainloop()

grid(表格布局)

from tkinter import *
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
label1 = Label(win,text='good',bg='blue')
label2 = Label(win,text='nice',bg='red')
label3 = Label(win,text='cool',bg='green')
label4 = Label(win,text='handsome',bg='yellow')
label1.grid(row=0,column=0)
label2.grid(row=0,column=1)
label3.grid(row=1,column=0)
label4.grid(row=1,column=1)
win.mainloop()

表格数据

from tkinter import *
from tkinter import ttk
win = Tk()
win.title('窗口标题')
win.geometry('400x300+200+100')
table = ttk.Treeview(win)
table.pack()
table['columns'] = ('姓名','年龄','身高','体重')#定义列
table.column('姓名',width=100)#设置列  列不显示
table.column('年龄',width=100)
table.column('身高',width=100)
table.column('体重',width=100)
#设置表头
table.heading('姓名',text='姓名-name')
table.heading("年龄", text="年龄-age")
table.heading("身高", text="身高-height")
table.heading("体重", text="体重-weight")
#添加数据
table.insert("", 0, text="line1", values=("小郑","34","177cm","70kg"))
table.insert("", 1, text="line2", values=("小张","43","188cm","90kg"))
win.mainloop()

python gui 之库tkinter笔记相关推荐

  1. 全国计算机等级考试二级Python精品题库学习笔记1

    全国计算机等级考试二级Python精品题库学习笔记1 精品试卷01 精品试卷01程序题 基本操作题 2:随机验证码 基本操作题 3:比赛成绩计算 Turtle 绘图题:同心圆 简单应用题 2:员工工资 ...

  2. python 之Requests库学习笔记

    1.    Requests库安装 Windows平台安装说明: 直接以管理员身份打开cmd运行界面,使用pip管理工具进行requests库的安装. 具体安装命令如下: >pip instal ...

  3. python GUI demo(tkinter)

    想了比较久用python做一个GUI的demo,还是用tkinter做一个小demo,版本python3.7下可行,代码如下: 1 #!/usr/bin/env python3 2 # -*- cod ...

  4. Python的matplotlib库学习笔记第一篇

    各位大佬,小松鼠有什么不对的地方,请大家赐教. matplotlib.pyplot是绘制各类可视化图形的命令字库,相当于Matplotlib库的快捷方式 导入:import matplotlib.py ...

  5. python gui label_更新tkinter Label以在pythongui上显示一个文本文件,每次一行

    您只需打开一次文件-即__init__-然后逐行读取.在class HealthWindow(Frame): def __init__(self, parent, controller): super ...

  6. 路径压缩_实战|python GUI压缩小程序

    说到Python,我们常常想到的就是一个小窗口,黑黢黢的cmd窗口运行一下代码. 就像下图: 那Python可不可以做出来具有界面的程序呢?就像这样: 答案是可以的,那我们就要说一下Python GU ...

  7. 可爱的python测试开发库(python测试开发工具库汇总)

    2019独角兽企业重金招聘Python工程师标准>>> 欢迎转载,转载请注明来源: github地址 谢谢点赞 本文地址 Python测试开发库 参考资料 https://githu ...

  8. python 各种开源库

    测试开发 来源:https://www.jianshu.com/p/ea6f7fb69501 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 sel ...

  9. [雪峰磁针石博客]可爱的python测试开发库

    欢迎转载,转载请注明来源:github地址 谢谢点赞 相关书籍下载 测试开发 Web UI测试自动化 splinter - web UI测试工具,基于selnium封装. 链接 selenium - ...

  10. 终于拿到了清华学霸整理出来的全套Python视频教程+项目源码+笔记

    为什么要学习Python?机器学习?数据分析?爬虫? 在找到一本Python书籍之前,一定要问问自己为什么要学习Python? Python在这近几年里面越来越受追捧,很多的同学小伙伴都想用Pytho ...

最新文章

  1. Caused by: org.gradle.api.InvalidUserDataException: NDK not configured
  2. Jobs(三) HTML的form表单提交中文后,后台取出乱码的问题
  3. nginx 如何实现读写限流的方法
  4. MySQL—通过Adjacency List(邻接表)存储树形结构
  5. “月宫一号”总设计师刘红:把科幻做成科学
  6. c++ 命令行错误: 无法打开 元数据 文件_PostgreSQL:强大的开源对象关系数据库管理系统...
  7. 3加密狗计算pin码_6 个芯片打造复古经典计算机:215 色显示,能编程能玩小游戏...
  8. hadoop常用的端口配置
  9. 51单片机led灯依次点亮
  10. [金工实习报告]金工实习基本方法,车工/焊接/钳工/铣工/铸造/安全生产/3D打印等
  11. 20行代码制作字符画版小黄鸭表情包 | 文末送书抽奖结果
  12. 在线的h5编辑器汇总和分析
  13. 【Solidity】注意事项
  14. 最新车载CarPlay盒子中方案内部配置参数
  15. yarn : 无法加载文件 ...Roaming\npm\yarn.ps1,因为在此系统上禁止运行脚本
  16. (精)广东工业大学 2018实时大数据分析——ShinglingMinhash实验报告
  17. 【火狐】如何隐藏最近的书签、历史、关闭的页面
  18. java当单据变化触发,UAP开发(NC63)遇到的错误记录
  19. 电脑分区不小心格式化了文件恢复教程
  20. NFS、GFS、NAS文件存储服务对比分析

热门文章

  1. linux上ftp上传文件失败
  2. 迪文屏与单片机c语言范例,STM32与迪文屏通讯 DMA模式
  3. ajax英文翻译,Ajax[埃阿斯]英文名的中文翻译意思、发音、来源及流行趋势-千代英文名...
  4. 北达科他州立大学计算机科学专业,2019上海软科世界一流学科排名计算机科学与工程专业排名北达科他州立大学排名第201-300...
  5. ORA-00980: 同义词转换不再有效
  6. 【附源码】Python计算机毕业设计七七美食汇
  7. STM32--DSP库使用(1)
  8. java.util.zip.ZipException: only DEFLATED entries can have EXT descriptor
  9. 中国网络游戏界十大雷囧现象
  10. Win11如何重置电脑 Win11重置电脑教程