Python GUI编程利器:Tkinker中的标签和按钮(2)

小朋友们好,大朋友们好!

我是猫妹,一名爱上Python编程的小学生。

和猫妹学Python,一起趣味学编程。

什么是控件

一个GUI应用程序是由许多组件组成的,这些组件被称为控件。

把控件排列在容器上,加上相关代码,程序就差不多就做好啦!

在Tkinter中,可以通过Widget类的子类创建各种控件。

关于控件,我们逐一简单学习下。

要知道,控件在很多GUI程序上都会使用到,思想是相同的。

今日目标

实现下面效果:

跟踪控件的值

网站开发,分为前端和后端。

前端可以理解为,一个漂亮吸引人的界面。

后端呢?就是各种数据。

Tkinker支持部分控件和变量的双向绑定,通过这种方式保持数据一致性。

实际上,只需要将变量传递给控件的textvariable、listvariable、variable等参数即可。

textvariable、listvariable和控件内显示文本内容相关。

variable是控件的其他参数。

同时,Tkinker对变量类型也有要求,不能是普通类型变量,必须是Tkinker模块中variable类的子类,比如:

  • IntVar类:整数类型变量
  • DoubleVar类:浮点类型变量
  • StringVar类:字符串类型变量
  • BooleanVar类:布尔类型变量

Variable类有2个方法,get方法和set方法,用于获取变量的值和设置变量的值。

标签(Label类)

创建标签对象方法:

Label(master,text,background,width,height,cursor,image,bitmap,anchor,relief,textvariable)

master表示标签的父容器

text表示标签的文本内容

background表示标签的背景颜色

width表示标签的宽度

height表示标签的高度

cursor表示鼠标移动上去光标的形状,其值有arrow(默认值),circle,cross,plus

imge表示标签的图片,类型为PhotoImage或BitmapImage,或其他兼容类型

bitmap表示标签的位图,如果设置了image则可以忽略它

anchor表示标签中文本内容或图片位置,取值有n,s,,w,e,ne,nw,sw,se和center(默认)

relief表示标签的边框样式,其值包括flat(默认),sunken,raised,groove,ridge

textvariable用于修改标签文本内容,必须和variable类型的变量进行绑定

参考代码:

import tkinter as tk


root = tk.Tk()
root.title('标签(Label类)')
root.geometry('800x600+400+300')
root.resizable(width=False, height=False)


# 在创建完控件之后,必须调用Tkinter中的布局管理器才可以正常显示控件。pack就是Tkinter中的布局管理器之一
tk.Label(root, text="标签", background='yellow', height='5', width='50', cursor="plus").pack()
tk.Label(root, text="标签", background='pink', height='5', width='50', cursor="cross", anchor='e', relief='groove').pack()


# 通过使用PhotoImage创建图片对象
photo = tk.PhotoImage(file='pic/maomei.png')
tk.Label(root, image=photo).pack()
root.mainloop()

按钮类(Button类)

创建按钮对象方法:

Button(master,text,background,width,height,image,anchor,relief,command,textvariable,state)

大部分参数和标签类(Label类)参数是一致的。

除了command和state。

command表示按钮关联的函数。即函数点击时,要执行的函数

state表示按钮的状态,取值有normal(默认),active,disable

参考代码:

import tkinter as tk


root = tk.Tk()
root.title('按钮(Button类)')
root.geometry('800x600+400+300')
root.resizable(width=False, height=True)


# 定义图片列表,以达到保存图片对象引用的目的
lt_pic = []


def onclick():
    print('关注我,为学习加油')


def createButton():
    tk.Button(root, text='我是一个按钮', width='20',heigh='2',background='pink', relief='sunken', anchor='e', command=onclick).pack()
    photo = tk.PhotoImage(file='pic/maomei.png')
    tk.Button(root, image=photo, command=onclick).pack()


    # 将图片对象添加到图片列表中
    lt_pic.append(photo)


createButton()
root.mainloop()

怎么样?

你学会了吗?

好了,我们今天就学到这里吧!

如果遇到什么问题,咱们多多交流,共同解决。

我是猫妹,咱们下次见!

猜你喜欢

转载自blog.csdn.net/parasoft/article/details/131465520