admin管理员组

文章数量:1794759

零基础python入门GUI编程:2

零基础python入门GUI编程:2

目前我们所学的知识: python语法:

创建函数、数学计算

常见类型:

文本与整数、浮点数的类型互相转换

GUI类型:
  • Label用于提示和输出,以及设置Label文本的方法
  • Entry用于输入,提取Entry输入的方法,
  • Button用于触发动作,将Button动作关联于函数的方法。
编程思考方式:

软件互动模式:输入,按钮,计算,输出

我们将用一个个的案例,逐步丰富我们的知识框架。从本节课的《进制转换》开始。

我们知道计算机内部使用的是二进制,一个数字在不同进位制下的表示方法不同。例如:

重点说一下进制转换的知识。

常见类型功能(int):进制转换 二进制:bin(num) 八进制:oct(num) 十六进制:hex(num) 这三个函数,输入均为整数(int),输出均为字符串。

看了第2节教程的朋友,如果学过初中数学,能够理解行列坐标,即使以前没有接触过编程,也能够比较容易地设计出页面的布局。

我们这里扩展两个GUI类型的知识点:GUI类型功能(通用) 1、匿名组件 如果我们不打算在程序中访问一个组件,则无须为其命名。 可以在创建后直接布局,一句代码完整一个组件的创建: Label(root, text="十进制:").grid(column=1, row=1) 2、组件的颜色 组件有两个颜色属性:

  • 前景色(foreground或fg)
  • 背景色(background或bg)

颜色值的表示方法,也有两种:RGB值法与颜色名法。

  • RGB值法:#开头的6位16进制,红、绿、蓝色的成分各占两位,从00到FF
  • 颜色名法:英语的颜色名,比如orage, yellow, pink,等等

配色的位置,也有两种方法。

  • 一种是在创建时(主窗口背景色不能用此法):Label(root, text="二进制:", bg='#00ffff').grid(column=1, row=2)
  • 一种是在创建后:lbBin= Label(root, fg='orange')
# 参考资料,本课程中所有的GUI程序,都必须有这一句话 from tkinter import * # 函数定义语句,定义了计算过程 def calculate():     # get方法获得的对象是文本类型,必须转换为整数类型(int)才能用于进制转换     value = int(entry.get())     # 给标签的显示内容(text)属性赋值     # 三个函数,分别转换为二进制(0b开头)、八进制(0o开头)、十六进制(0x开头)     lbBin['text']= bin(value)     lbOct['text']= oct(value)     lbHex['text']= hex(value) # root 是主窗口 root = Tk() # 设置主窗口颜色只能在创建之后 root['bg']= 'pink' # 给主窗口定一个标题 root.title("进制转换") # 纯提示用的标签(类型Label),属于root窗口,不必起名字,定义后直接布局 Label(root, text="十进制:").grid(column=1, row=1) # 输入十进制处,单行文本输入框(类型Entry),它属于root窗口 entry = Entry(root) entry.grid(column=2, row=1) # 纯提示用的标签(类型Label),属于root窗口,不必起名字,定义后直接布局 # 背景色属性:bg # 颜色设置方法1:#RBG的值 Label(root, text="二进制:", bg='#00ffff').grid(column=1, row=2) # 二进制输出用的标签(类型Label),属于root窗口 # 前景色属性:fg # 颜色设置方法2:颜色名 lbBin= Label(root, fg='orange') lbBin.grid(column=2, row=2) # 纯提示用的标签(类型Label),属于root窗口,不必起名字,定义后直接布局 Label(root, text="八进制:").grid(column=1, row=3) # 八进制输出用的标签(类型Label),属于root窗口 lbOct= Label(root) # 有名字的组件,可以在创建之后再添加颜色 lbOct['bg']='pink' lbOct.grid(column=2, row=3) # 纯提示用的标签(类型Label),属于root窗口,不必起名字,定义后直接布局 # 前景色可以直接使用全称foreground Label(root, text="十六进制:", foreground="#ff7f00").grid(column=1, row=4) # 十六进制输出用的标签(类型Label),属于root窗口 # 背景色也可以直接使用全称background lbHex= Label(root, background='#d0d0d0') lbHex.grid(column=2, row=4) # 按钮(类型Button),属于root窗口,显示文字是“计算”,按下去动作(command)是函数calculate # 无须起名,因为后面不用访问按钮本身 Button(root, text="计算", command=calculate).grid(column=3, row=5) # 这一句是运行窗口 root.mainloop() 小结

1、整数转化为任意进制的方法 2、创建组件的简化方法 3、组件的颜色设置方法

本节作业

1、在进制转换软件中,不做输入,直接按计算按钮,看看出现什么效果 2、设计一个圆形面积计算器,输入半径,计算面积

资料:各种可用的颜色

 

本文标签: 入门基础PythonGui