Tkinter模块是python比较常用的GUI界面设计模块,首先对相关的函数进行分析。

一 、创建根窗口相关的函数说明

    import tkinter as tk    
    top = tk.Tk()  # 创建一个根窗口
     top.title("窗口的标题")  # 设置该窗口的标题
     top.geometry("500x500+500+100")  # 设置窗口的尺寸,500x500+500+100=width*hight+x+y
     # width=True|False宽可变|不可变;height=True|False高可变|不可变
     top.resizable(width=False, height=False)
     top.maxsize(width=500, height=500)  # 设置窗口的最大尺寸为500*500像素
     top.minsize(width=500, height=500)  # 设置窗口的最小尺寸为500*500像素
     top.mainloop()  # 窗口运行
二、按钮Button相关的函数及参数说明
   # 创建一个按钮,参数top指的是在哪个窗口,text指按钮上显示的文字,command指按键按下后调用的函数,
    # 这里的指无参函数,bg设置按钮背景颜色,fg设置按钮文字颜色,font设置文字字体、大小、属性
    # width和height手动设置按钮的宽高,不设置则自动大小
    button1 = tk.Button(top, text="按钮",  # 按钮标签
                        command=function1,  # 点击按钮回调函数
                        bg="black", fg="white",  # 背景色和前景色
                        font=("宋体", 16, "bold"),  # 字体
                        width=30, height=30)  # 按钮的宽和高
    # 创建一个按钮,如果按钮的响应函数需要传参的话,用一个匿名函数,如下:
    button2 = tk.Button(top, text="按钮", command=lambda :function(x,y))
    # 手动设置按钮显示位置,x,y指按钮显示在窗口中的坐标
    button1.place(x=250, y=200)
    # 自动设置按钮的显示位置,side有TOP,BOTTOM,LEFT,RIGHT上下左右四个选项,fill表示是否自动延伸
    # 到窗口边缘,有X,Y,BOTH3个选项,默认为None
    button2.pack(side=tk.TOP, fill=tk.X)
三、游标Scale相关的函数及参数说明
    var = tk.StringVar(top)  # 创建一个字符串变量对象
    var.set("字符串")  # 设置变量的值,默认为None
    var.get()  # 获取变量的值
    var1 = tk.IntVar()  # 创建一个整形变量
    scale1 = tk.Scale(top, orient=tk.HORIZONTAL,  # 设置游标显示的方向,HORIZONTAL为水平方向,
                                                  # VERTICAL为竖直方向
                      label="标签",  # 设置游标的标签
                      fg="green",  # 设置游标的值的颜色
                      background="red",  # 设置整个游标背景的颜色
                      activebackground="yellow",  # 当鼠标放到游标上时,游标显示为黄色
                      font=("宋体", 16, "bold"),  # 设置标签和值的字体
                      length=100,  # 设置游标整个的长度
                      resolution=2,  # 设置游标移动的步长
                      from_=-200,  # 设置游标的最小值
                      to=200,  # 设置游标的最大值
                      variable=var,  # 绑定变量
                      command=function,  # 回调函数,游标每移动一个步长调用一次回调函数
                                         # 会自动将游标的值作为参数传入function
                      digits=8,  # 游标的值以8为小数显示
                      )
    scale1.set(50)  # 设置游标的值
    scale1.get()  # 获取游标的值
    scale1.pack()
四、Frame:窗口上一块区域,通常用来作为容器对窗口进行布局,相关的函数及参数说明
  # 注意,Frame不需要传入top参数,直接可创建
    tk.Frame(width=100,  # 指定区域的宽
             height=100,  # 指定高
             bg="green"  # 指定区域颜色
             ).pack(fill=tk.X)
五、Canvas:画布,可以在上面绘图
   # 创建一块画布
    cans = tk.Canvas(top,  # 根窗口
                     bg="white",  # 设置画布的颜色为白色
                     )
    # 绘制一个矩形
    rc = cans.create_rectangle(50, 50, 100, 100,  # 矩形的对角坐标x1,y1,x2,y2
                              fill="red",   # 矩形内的填充颜色
                              outline="green",  # 矩形边框的颜色
                              width=5,  # 矩形边框的宽度,5个像素
                              dash=10,  # 边框为虚线,值为任意一个整数
                              stipple="gray12",  # 使用画刷填充矩形
                              tags=("rc1","rc2")  # 指定多个矩形,rc1和rc2都是rc的复制对象
                              )
    # 绘制弧形,矩形的参数用法基本和弧形相同
    cans.create_arc((0, 0, 100, 100),  # x1,y1,x2,y2指弧形外切矩形的对角坐标
                    style=tk.ARC,  # ARC指绘制弧形,PIESLICE指绘制扇形,CHORD绘制弓星,默认扇形
                    start=0,  # 指定角度,从0度开始
                    extent=180,  # 沿着逆时针方向绘制180度
                    )
    # 绘制位图
    image = tk.PhotoImage(file="filepath")  # 打开文件生成一个图片对象,格式为gif
    cans.create_image((100,100),image)  # 图片的坐标,图片对象

    # 将矩形rc1绑定事件function,当鼠标点击到矩形的任何位置时触发pxx事件,
    # 有一个参数rc1会传递到pxx,<Button-1>指鼠标左键控制,
    # <Button-2>滚轮控制,<Button-3>鼠标右键控制
    cans.tag_bind("rc1", "<Button-1>", function)
    cans.coords(rc, (50,50,300,300))  # 修改矩形的坐标
    cans.move(rc, 50, 50)  # 将rc对象相对原来的位置向右移动50,向下移动50
    cans.delete(rc)  # 在画布上删除对象rc
    cans.scale(rc, 0, 0, 2, 2)  # 将x轴,y轴坐标放大为原来的两倍
    cans.pack()

 六、文字标签Lable:用来显示界面上的一些文字,如标题、姓名等;

 lable1 = tk.Label(top, bg="#00F000",   # 背景色
                       textvariable=tk.StringVar(),  # 标签上显示的字符可变
                       wraplength=400,  # 文字显示区域的长度,单位为像素
                       justify="left",  # 文字的对齐方式,有left,right等
                       fg="blue",  # 文字的颜色
                       font=("宋体", 20, "bold"),  # 字体
                       height=4)  # 字的高

Tkinter界面编程(一)----函数分析的更多相关文章

  1. [matlab] MATLAB 界面编程 傻瓜教程

    >_<:在 MATLAB 的命令窗口(Command Window)中运行 guide 命令,来打开 GUIDE 界面,如下: >_<:然后,选择空模板(Blang GUI), ...

  2. 记一次:Windows的Socket编程学习和分析过程

    Socket编程依赖于:WS2_32.dll --- 服务端 --- .导入我们需要的函数 #incldue <windows.h> //#include<WinSock2.h> ...

  3. Python 爬虫+tkinter界面 实现历史天气查询

    文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...

  4. 界面编程模仿篇(QQ登录界面逼真篇)

    写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...

  5. [置顶] VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  6. VC++界面编程之--使用分层窗口实现界面皮肤

    使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...

  7. Java界面编程-建立一个可以画出图形的简单框架

    引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...

  8. 为什么qt成为c++界面编程的第一选择

    为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...

  9. Qt界面编程基本操作

    Qt界面编程基本操作 了解基本代码构成 类widget的头文件widget.h如下: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> ...

随机推荐

  1. 在为知笔记中使用Markdown和思维导图

    为知笔记Wiz是一款很好的网摘和笔记工具,作为为知的忠实用户,我在为知收费后第一时间就购买了两年的授权,毕竟这么多年积累的资料都在为知上,我也习惯了使用Wiz来做些工作相关的笔记.为知笔记自带Mark ...

  2. OGEngine_2.x中BitmapFont加载后黑屏问题的解决办法

    在我使用OGEngine_2.x进行消灭圈圈(星星)游戏的实践的时候,使用BitmapFont对自定义字体进行调用. 原文字体教程如下:http://blog.csdn.net/OrangeGame/ ...

  3. 在foreach的判断条件里执行方法会有效率问题吗?

    楼猪平时一有空就有看别人代码的习惯,从许多优秀规范的代码中学习到了很多简约高效的写法和画龙点睛的思想精华.但是有的时候也会觉得某些写法很值得玩味.比如刚看到一段代码,在foreach的条件判断里加了一 ...

  4. linux基础命令整理(一)

    ls 显示当前目录内容 1)ls / (显示根目录下所有的目录和文件) 2)ls -l / (以列表的形式显示根目录下所有的目录和文件) 绝对路径和相对路径 1)绝对路径,以/开头的都是绝对路径,比如 ...

  5. android sdk manager 国内镜像

    //东软信息学院 mirrors.neusoft.edu.cn 80   //北京化工大学 ubuntu.buct.edu.cn/ubuntu.buct.cn 80   //中国科学院开源协会 mir ...

  6. jquery.base64.js 中文乱码处理

    c# 转码:Convert.ToBase64String(Encoding.UTF8.GetBytes(str)) js 解码:$.base64.atob(this.options.valids, t ...

  7. fetch知识点汇总

    使用XHR发送一个json请求一般是这样: const xhr = new XMLHttpRequest() xhr.open('Get', url) xhr.responseType = 'json ...

  8. test only

    Test TinyMCE only , Test Link

  9. centos7.3搭建lamp实现使用wordpress

    ``` 环境说明: 在同一台主机上实现LAMP(Linux + Apache + MariaDB + PHP) CentOS 7.3.Apache 2.4.6.MariaDB 5.5.52.PHP 5 ...

  10. Web应用与应用层协议

    Web应用与应用层协议 本篇博文中的主要参考文献是<计算机网络高级教程>,分别是吴功宜老先生和吴英教授合著.这部教程是我研究生老师所推荐的网络必读科目,由于该教程讲解的基础知识详细,但内容 ...