Tkinter图形化编程

tkinter使用流程

1
2
3
import tkinter as tk
w = tk.Tk()
w.mainloop()

image-20260219131602388

1
2
3
4
5
6
7
8
9
10
import tkinter as tk
w = tk.Tk()
#获取屏幕宽度
screen_width = w.wininfo_screenwidth()
#获取屏幕高度
screen_height = w.wininfo_screenheight()

w.geometry("300x400+800+400") #这里使用的是x

w.mainloop()

Label控件

Label是标签组件,用于显示。

Lable(parent, option=value …):

  • parent:代表承载该控件的父容器。
  • option:可选项,表示该按钮可设置的属性。这些选项可以用 键=值 的形式设置,并以逗号分隔。
序号 可选项 & 描述
1

anchor

文本或图像在背景内容区的位置,默认为 center,可选值为(n,s,w,e,ne,nw,sw,se,center)eswn 是东南西北英文的首字母,表示:上北下南左西右东。

2

bg

标签背景颜色

4

bd

标签的大小,默认为 2 个像素

4

bitmap

指定标签上的位图,如果指定了图片,则该选项忽略

5

cursor

鼠标移动到标签时,光标的形状,可以设置为 arrow, circle, cross, plus 等。

6

font

设置字体。

7

fg

设置前景色。

8

height

标签的高度,默认值是 0。

9

image

设置标签图像。

10

justify

定义对齐方式,可选值有:LEFT,RIGHT,CENTER,默认为 CENTER。

11

padx

x 轴间距,以像素计,默认 1。

12

pady

y 轴间距,以像素计,默认 1。

13

relief

边框样式,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。

14

text

设置文本,可以包含换行符(\n)。

15

textvariable

标签显示 Tkinter 变量,StringVar。如果变量被修改,标签文本将自动更新。

16

underline

设置下划线,默认 -1,如果设置 1,则是从第二个字符开始画下划线。

17

width

设置标签宽度,默认值是 0,自动计算,单位以像素计。

18

wraplength

设置标签文本为多少行显示,默认为 0。

Anchor

设置文字输出位置。

image-20260219132425980

compound

图像与文字共存时,设置文字和图像默认位置关系

  • left:图像在左
  • right
  • top
  • bottom
  • center

bitmaps

image-20260220194146658

1
2
3
4
5
6
7
8
9
import tkinter as tk
from tkinter import ttk #有一些扩展控件,比如插入分割线

w = tk.Tk()

label01 = tk.Lable(w,text = "abc", fg="red", bg="yellow",width=10,height=3,anchor=tk.N) #或者anchor='n'
label01.pack()

w.mainloop()

显示图片

使用pillow

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
import tkinter as tk
from tkinter import ttk #有一些扩展控件,比如插入分割线
from PIL import ImageTK

w = tk.Tk()
w.resizeable(0,0)

bg = ImageTk.PhotoImage(file = "path")

textLabel = tk.Label(w,
image = bg,
text="aaa",
foreground="white",
compound="center")

textLabel.pack()

w.mainloop()

Button控件

按钮可用于监听用户行为,能够与一个 Python 函数关联,当按钮被按下时,自动调用该函数。

w = Button ( master, option=value, … )

序号 可选项 & 描述
1

activebackground

当鼠标放上去时,按钮的背景色

2

activeforeground

当鼠标放上去时,按钮的前景色

3

bd

按钮边框的大小,默认为 2 个像素

4

bg

按钮的背景色

5

command

按钮关联的函数,当按钮被点击时,执行该函数

6

fg

按钮的前景色(按钮文本的颜色)

7

font

文本字体

8

height

按钮的高度

9

highlightcolor

要高亮的颜色

10

image

按钮上要显示的图片

11

justify

显示多行文本的时候,设置不同行之间的对齐方式,可选项包括LEFT, RIGHT, CENTER

12

padx

按钮在x轴方向上的内边距(padding),是指按钮的内容与按钮边缘的距离

13

pady

按钮在y轴方向上的内边距(padding)

14

relief

边框样式,设置控件3D效果,可选的有:FLAT、SUNKEN、RAISED、GROOVE、RIDGE。默认为 FLAT。

15

state

设置按钮组件状态,可选的有NORMAL、ACTIVE、 DISABLED。默认 NORMAL。

16

underline

下划线。默认按钮上的文本都不带下划线。取值就是带下划线的字符串索引,为 0 时,第一个字符带下划线,为 1 时,前两个字符带下划线,以此类推

17

width

按钮的宽度,如未设置此项,其大小以适应按钮的内容(文本或图片的大小)

18

wraplength

限制按钮每行显示的字符的数量

19

text

按钮的文本内容

19

anchor

锚选项,控制文本的位置,默认为中心

#### command

按钮关联的函数,当按钮被点击时,执行该函数