python tkinter treeview表格加线_Python GUI编程:Tkinter

本节知识大纲:9ba5a655ff7cf4c64771b389f69c9ca9.png

Python里的图形化界面(GUI)模块主要有Tkinter(python自带)、PyQt、wxPython,我们这节主要讲解Tkinter组件:

一、Tkinter介绍

tkinter模块只要用户安装好Python环境就可以直接使用;

1. 第一个tkinter程序
import tkinter as tk  # 给tkinter重命名为tk
root = tk.Tk()  # 新建一个窗体
root.mainloop()  # 展示窗体
2. 设置属性并添加控件

设置窗体标题、指定窗体大小、添加按钮、输入框、标签并布局

import tkinter as tk  
root = tk.Tk()
# 为窗体设置一个标题
root.title("第一个tkinter窗体")
# 指定窗体的大小,这里的乘号是小写字母x
root.geometry("400x300")
# 添加一个标签
Label01 = Label(root,text = "第一个label标签")
# 将标签布局到窗体上
Label01.pack() 
# 添加一个按钮,可以在创建按钮的同时在句尾调用pack语句进行布局
Button01 = Button(root,text = "确定").pack()
# 添加一个单行文本框
Entry01 = Entry(root).pack()
# 展示窗体
root.mainloop()

二、控件的属性

1. tkinter常用的控件属性

(1)定义控件的名称使用参数text,传入的字符串值即为控件的名称;

(2)定义控件高度使用参数hight,宽度使用参数width,传入的值为整形数值; 

(3)定义控件在空间中的位置,使用参数anchor,传入的字符参数为e、s、w、n以地图的东南西北来定义为右下左上,也可以同时设置左下sw、左上nw、右下se、右上ne; 

(4)定义控件的背景色,使用参数bg,前景色使用参数fg,传入字符值可以直接是对应颜色的英文名称; 

(5)设置布局在pack()函数里,使用参数side,传入的值为常量tk.LEFT或者tk.RIGHT,表示从左到右或者从右到左布局 

(6)创建图片控件时,图片控件的文件源使用参数file,传入的字符值为为文件路径,在控件中使用图片则使用参数image,传入的值为图片控件变量;

(7)设置整个窗体的尺寸,使用参数geometry,传入的值为字符值,注意乘号用小写字母x代替;如果要设置长400宽300的窗体则使用语句geometry = "400x300"

(8)设置控件与边界的距离在pack函数里使用参数padx,设置左右距离,使用pady设置上下距离

2. 案例演示:画出一个简单的窗体布局
import tkinter as tk

# 新建一个窗体名称:root
root = tk.Tk()
# 为窗体添加一个标题
root.title("第二个Python窗体")

# 新建标签
photo = tk.PhotoImage(file = "/Users/yushengtan/Desktop/image.png")
Label01 = tk.Label(root,text = "第一个Label标签",anchor = "se").pack(side = tk.LEFT)
imageLable01 = tk.Label(root,image = photo).pack(side = tk.LEFT)
Label02 = tk.Label(root,text = "第二个Label标签",bg = "blue",fg = "white",font = ("华文宋体",20)).pack()
Label03 = tk.Label(root,text = "第三个Label标签",).pack()
Label04 = tk.Label(root,text = "第四个Label标签").pack()
Label05 = tk.Label(root,text = "第五个Label标签").pack()
Button01 = tk.Button(root,text = "确定").pack()

# 显示
root.mainloop()

效果演示:76c03da76ae81e0e3d8018f2ae93a8b0.png

3. 案例演示:画出能计算加法的计算器界面
# 导包的时候使用*,创建控件的时候不用写类名了
from tkinter import *

# 创建一个窗体,名称为root
root = Tk()
# 为窗体添加标题
root.title("求两数之和")
root.geometry("700x80")
photo = PhotoImage(file = "/Users/yushengtan/Desktop/calc.png")
# 定义控件
PhotoLabel = Label(root,image = photo).pack(side = LEFT,padx = 10,pady = 5)
# 第一个数字文本框
Entry01 = Entry(root,bg = "pink",width = 10,font = ("华文黑体",20)).pack(side = LEFT,padx = 5,pady = 5)
# 加号
Label_plus = Label(root,text = "+",font = ("华文黑体",20)).pack(side = LEFT,padx = 5,pady = 5)
# 第二个数字文本框
Entry02 = Entry(root,bg = "pink",width = 10,font = ("华文黑体",20)).pack(side = LEFT,padx = 5,pady = 5)
# 等于号
Label_equal = Label(root,text = "=",font = ("华文黑体",20)).pack(side = LEFT,padx = 5,pady = 5)
# 第三个数字文本框
Entry03 = Entry(root,bg = "green",width = 10,font = ("华文黑体",20)).pack(side = LEFT,padx = 5,pady = 5)
Button01 = Button(root,text = "计算",width = 10,height = 2,font = ("华文黑体",15)).pack(side = LEFT,padx = 10,pady = 5)

# 运行
root.mainloop()

界面效果:e0106f1512955e8efd993af61b3a99d6.png

三、基本布局

1. place绝对布局

pack布局是按顺序布局,而place布局可以直接定义绝对位置,只需要给place()函数里传入两个参数x和y,其值为整型数值表示相对于窗体左上角的坐标位置;用法如place(x=10,y=20)

案例演示:

绘制一个简易的登录界面

from tkinter import *

root = Tk()
root.title("用户登录")
root.geometry("400x180")

Label_username = Label(root,text = "登录名:",font = ("华为黑体",16)).place(x = 50,y = 20)
Entry_username = Entry(root,font = ("华文黑体",16),width = 20).place(x = 120,y = 20)
Label_password = Label(root,text = "密   码:",font = ("华为黑体",16)).place(x = 50,y = 60)
Entry_password = Entry(root,font = ("华文黑体",16),width = 20).place(x = 120,y = 60)
Button_login = Button(root,text = "登录",font = (
  • 11
    点赞
  • 67
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值