一个GUI应用程序有很多的组件,将这些组件有序美观地排布在窗口上,需要用Tkinter提供的布局管理器,tkinter提供了三种管理其:pack,grid和place.
下面这个代码是用grid来进行的布局管理。
在看代码之前介绍几个重要的选项:
row :单元格的行号
column:单元格的列号。
columnspan:跨越的列数。
rowspan:跨越的行数。
ipadx,ipady设置组件之间x方向和y方向的间隔。单位为像素。
sticky:默认是center,组件紧贴着该单元格里的某一角或者对应于东南西北中某些角,如WE,代表紧贴单元格的东西两个方向,这样组件就会横向占满整个单元格,方向用大写字母ESWN这四个字母表示。
下面代码实现的功能就是仿计算器界面设计。
效果如图:
代码如下:
# GUI经典写法:面向对象的写法
# Frame框架是一个容器,放其他组件的容器
# 下面是一个测试经典的GUI程序的写法,使用面向对象的方式
# Radiobutton是单选按钮组件
# 属性有:value = ' '设置该单选按钮对应的值
# variable = self.v可以设置其对应的变量,可以设置对应变量的值来初始化单选按钮的选中状态
# 多个组件对应一个变量,则可以认定这几个组件是一组。
from tkinter import *
from tkinter import messagebox
import os
import webbrowser
import random
class Application(Frame):
"""一个经典的GUI程序计算器设计"""
def __init__(self,master=None):#构造器,构造一个组件对象
super()