Tkinter界面编程(一)----函数分析
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界面编程(一)----函数分析的更多相关文章
- [matlab] MATLAB 界面编程 傻瓜教程
>_<:在 MATLAB 的命令窗口(Command Window)中运行 guide 命令,来打开 GUIDE 界面,如下: >_<:然后,选择空模板(Blang GUI), ...
- 记一次:Windows的Socket编程学习和分析过程
Socket编程依赖于:WS2_32.dll --- 服务端 --- .导入我们需要的函数 #incldue <windows.h> //#include<WinSock2.h> ...
- Python 爬虫+tkinter界面 实现历史天气查询
文章目录 一.实现效果 1. python代码 2. 运行效果 二.基本思路 1. 爬虫部分 2. tkinter界面 一.实现效果 很多人学习python,不知道从何学起.很多人学习python,掌 ...
- 界面编程模仿篇(QQ登录界面逼真篇)
写了好多天的爬虫,偷空前前后后用了两天的时间(排除吃饭睡觉)写完了这个QQ登录界面,看起来还凑和着吧,如果是的大神的,莫见笑,纯属业余作品,废话先不多说,截图如下,其中第二幅图片中的红色方框部份有待完 ...
- [置顶] VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- VC++界面编程之--使用分层窗口实现界面皮肤
使用分层界面来实现界面皮肤的好处是:可以保证图片边缘处理不失真,且能用于异形窗口上,如一些不规则的窗口,你很难用SetWindowRgn来达到理想效果. 在很多情况下,界面的漂亮与否,取决于PS的制作 ...
- Java界面编程-建立一个可以画出图形的简单框架
引子:总共使用3个.java文件,建立一个简单界面编程的框架. 第1个文件:NotHelloWorldComponent.java //NotHelloWorldComponent.java 1 im ...
- 为什么qt成为c++界面编程的第一选择
为什么qt成为c++界面编程的第一选择 一.前言 为什么现在QT越来越成为界面编程的第一选择,笔者从事qt界面编程已经有接近8年,在这之前我做C++界面都是基于MFC,也做过5年左右.当时为什么会从M ...
- Qt界面编程基本操作
Qt界面编程基本操作 了解基本代码构成 类widget的头文件widget.h如下: #ifndef WIDGET_H #define WIDGET_H #include <QWidget> ...
随机推荐
- OpenCV二维Mat数组(二级指针)在CUDA中的使用
CUDA用于并行计算非常方便,但是GPU与CPU之间的交互,比如传递参数等相对麻烦一些.在写CUDA核函数的时候形参往往会有很多个,动辄达到10-20个,如果能够在CPU中提前把数据组织好,比如使用二 ...
- Scrum Meeting Alpha - 4
Scrum Meeting - NewTeam // 地点:新主楼F座二楼 任务反馈 团队成员 完成任务 计划任务 安万贺 确定了API部分的目录结构及包装方式,完成了部分API的包装https:// ...
- 表空间与数据文件Offline,online的区别
首先明确,表空间与数据文件的关系:Oracle数据库表空间有两种,一种smallfile小文件表空间(默认),另一种bigfile大文件表空间: 默认表空间与数据文件的关系:允许一对多的处理方式,一个 ...
- JavaScript 数组基本操作
简介 数组操作无论是在JavaScript中还是在其他语言中都是很常见.经常会用到的,现在我把JavaScript 数组基本操作整理一下,供大家参考学习.里边包含我自己的见解以及案例,希望能够帮助大家 ...
- Gmail,QMail,163邮箱的 IMAP/SMTP/POP3 地址
我们在客户端设置邮箱或者使用 PHPMailer 发送邮件的时候,我们都会去查找这些邮箱的 IMAP/SMTP/POP3 地址,这里就列出 Gmail, QMail, 163邮箱这三个常用邮箱的这些地 ...
- HTTP-FLV直播初探
目前几种视频流的简单对比: 协议 httpflv rtmp hls dash 传输方式 http流 tcp流 http http 视频封装格式 flv flv tag Ts文件 Mp4 3gp web ...
- 使用MongoVUE
mongoDB版本号为3.4.10 在终端操作一顿后想看看它在可视化工具里面什么样子,于是就找了一个可视化工具,MongoVUE这个看起来还不错,因为我是windows系统所以就没有太多的挑选选择.在 ...
- 如何用Python写一个计算器软件 附带效果图
该计算器使用Python tkinter模块开发 效果如下图 import tkinter #导入tkinter模块 root = tkinter.Tk() root.minsize(280,500 ...
- Vim常用操作-合并行。
刚接触 Vim 会觉得它的学习曲线非常陡峭,要记住很多命令.所以这个系列的分享,不会教你怎么配置它,而是教你怎么快速的使用它. 在开发时为了代码美观,经常会把属性用换行的方式显示. <el-di ...
- 调试利器:SSH隧道
欢迎大家前往腾讯云社区,获取更多腾讯海量技术实践干货哦~ 本文作者:ivweb 吴浩麟 原文出处:IVWEB社区 未经同意,禁止转载 在开发微信公众号或小程序的时候,由于微信平台规则的限制,部分接口需 ...