Python编程:Tkinter图形界面设计(1)
一、Tkinter的程序框架
窗口的生成和窗口的呈现,用Tk()和mainloop()包括起来,中间程序是附着在窗口的内部部件。
二、窗口内容
窗口的内容,是最丰富的细节包括:1、几何尺寸 2、按钮部件 3、...
2.1 窗口的几何尺寸
1)重要操作函数
- 设置窗口的标题:root.title('Python GUI Learning')
- 设置窗口大小:root.geometry('380x300')
- 设定窗口可以(不可)重resize窗口:root.resizable(width=False, height=True)
2)参考代码
from tkinter import Tk
#初始化Tk()
root = Tk()
#设置标题
root.title('Python GUI Learning')
#设置窗口大小
root.geometry('380x300')
#设置窗口是否可变长、宽,True:可变,False:不可变
root.resizable(width=False, height=True)
#进入消息循环
root.mainloop()
2.2 窗口的摆放位置
如果摆放窗口位置,需要知道屏幕的长宽。
1)关键函数
- 获取屏幕尺寸:screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
- 设置窗口的大小位置:root.geometry('380x300+200+100')
( 长=380,高=300,左上角位置(200,100))
2.3 实验代码
from tkinter import Tk
#初始化Tk()
root = Tk()
#设置标题
root.title('Python GUI Learning')
#设置窗口大小
width = 380
height = 300
#获取屏幕尺寸以计算布局参数,使窗口居屏幕中央
screenwidth = root.winfo_screenwidth()
screenheight = root.winfo_screenheight()
alignstr = '%dx%d+%d+%d' % (width, height, (screenwidth-width)/2, (screenheight-height)/2)
root.geometry(alignstr)
#设置窗口是否可变长、宽,True:可变,False:不可变
root.resizable(width=False, height=True)
#进入消息循环
root.mainloop()
2.3 控件管理
1)常用控件种类
一般窗口并不能实现交互,交互需要控件完成。Tkinter 提供了各种控件,如按钮、标签和文本框。在一个 GUI 应用程序中使用,这些控件通常被称为控件或者部件,目前有19种Tkinter 部件,如下列表:
控件 | 描述 |
button | 按钮控件 |
Canvas | 画布,可以实现几何元素的绘制; |
Checkbutton | 选择按钮 |
Entry | 就是其它语言的editer,文本输入件 |
Frame | 一个矩形区域,构成控件容器 |
Label | 显示文字和图片 |
ListBox | 列表框 |
MenuButton | 菜单工具条 |
Menu | 菜单 |
Message | 消息控件,显示多行文本 |
RadioButton | 单选按钮 |
Scale | 可拉动数字游标尺 |
ScrollBar | 滚动条 |
Text | 显示多行文本 |
TopLevel | 容器,用来提供单独对话框 |
Spinbox | 输入控件,与Entry类,但支持范围 |
panedWindow | 布局管理插件,上盛放控件 |
labelFrame | 简单容器 |
tkMessageBox | 显示应用程序的消息框 |
2 控件摆放( 几何管理)
Tkinter 控件有特定的几何状态管理方法,管理整个控件区域组织,以下是 Tkinter 公开
的几何管理类:包、网格、位置。
几何方法 | 描述 | 属性说明 |
pack() | 设置控件位置 |
after:将组件置于其它组件之后 fill:填充方式(X垂直,X:水平) |
grid() | 网格规划 |
column:组件所在的列起始位置 columnspam:组件列宽 row:组件起始位置 rowspam:组件的行宽 |
place() | 位置 |
anchor:组件对齐方式 x:组件左上角x坐标 y:组件左上角y坐标 relx:组件对于窗口的x相对坐标(0,1)之间 rely:组件对于窗口的y相对坐标(0,1)之间 width:组件宽度 height:组件高度 relwidth:组件相对窗口的宽度(0,1) relheight:组件相对窗口的高度(0,1) |
三、控件编程
3.1 Lable控件
标签控件,基本用法为: Lable(root, option...) ,即:Label(根对象, [属性列表]),
其中属性列表如下:
可选属性 | 说明 |
text | 文本内容 text=’登录名称‘ |
bg | 背景颜色 |
fg | 前景颜色 |
font | 字体 |
width | 宽度 |
height | 高度 |
padx | 水平边距 |
pady | 垂直边距 |
justify | 对齐方式 |
image | 图像文件路径 |
compound | 同一个区域显示文字和图片混合 |
Lable 控件实例
实例1:标签展示文本,代码如下:
from tkinter import*
#初始化Tk()
root = Tk()
#设置标题
root.title('Python GUI Learning')
#创建一个标签,显示文本
Label(root, text="user-name",bg='red',font=('Arial 12 bold'),width=30,height=1).pack()
Label(root, text="password",bg='green',width=20,height=2).pack()
#进入消息循环
root.mainloop()
执行结果:
实例2:标签展示图标,代码如下:
from tkinter import*
#初始化Tk()
root = Tk()
#设置标题
root.title('Python GUI Learning')
#创建一个标签,显示图标
logo = PhotoImage(file="temp.gif")
Label(root, image=logo).pack(side='left')
#进入消息循环
root.mainloop()
运行结果:
实例3:标签图文混叠,边距控制,代码如下:
from tkinter import*
#初始化Tk()
root = Tk()
#设置标题
root.title('Python GUI Learning')
#创建一个标签,显示文本
logo = PhotoImage(file="skyeL2.gif")
explanation = """At present, only GIF and PPM/PGM
formats are supported, but an interface
exists to allow additional image file
formats to be added easily."""
Label(root,compound=CENTER,text=explanation,image=logo).pack(side="right")
#进入消息循环
root.mainloop()
运行结果:
Python编程:Tkinter图形界面设计(1)相关推荐
- Python之tkinter图形界面设计学习二
图形用户界面(简称GUI),是指采用图形方式显示的计算机操作用户界面.与计算机的命令行界面相比,图形界面对于用户的操作显得更加直观和简便. 一.tkinter模块 tkinter是Python的内置G ...
- python界面设计实例-【Python】Tkinter图形界面设计(GUI)
简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...
- 【Python】Tkinter图形界面设计(GUI)
简介 作为 Python 开发者,图形用户界面(GUI)开发是必备技能之一.目前,市面上支持 Python 的"GUI 工具包"很多,各有特点,虽然大多数工具包的基础类似,但要学习 ...
- Python编程:Tkinter图形界面设计(2)
一.Button控件 Button 控件是一个标准的 Tkinter 部件,用于实现各种按钮.按钮可以包含文本或图 像,还可以关联 Python 回调函数.Tkinter 的按钮被按下时,会自动调用回 ...
- python中的图形界面设计_python图形化界面设计(tkinter)一全面介绍
3.3.单选按钮:(Radiobutton)是为了响应故乡排斥的若干单选项的单击事件以触发运行自定义函数所设的,该控件排除具有共有属性外,还具有显示文本(text).返回变量(variable).返回 ...
- python之tkinter图形界面
import tkinter as tk window = tk.Tk() window.title() window.geometry() l = tk.Lable() b = tk.Button( ...
- Python图形界面设计(Tkinter库)
文章目录 创建 Windows 窗口 几何布局管理器 pack 几何布局管理器 grid 几何布局管理器 place 几何布局管理器 Tkinter 组件 标签组件 Label 按钮组件 Button ...
- Python学习:图形界面设计01
写在前面: 此博客仅用于记录个人学习进度,学识浅薄,若有错误观点欢迎评论区指出.欢迎各位前来交流.(部分材料来源网络,若有侵权,立即删除) 传送门: Python实现输入电影名字自动生成豆瓣评论词云图 ...
- 不是python中用于开发用户界面的第三方库-python界面 | Tkinter图形界面开发库
0 写在前面 未经允许,不得转载,谢谢~~ 毕设要在现有的基础上做一个可视化的界面,所以趁机也学习一波如何用python实现图形界面的开发. 本文主要学习并整理了: 简要介绍用于python图形界面开 ...
最新文章
- 懂你,从选择内裤开始
- Windows纸牌×××式计分法
- MFC中添加的ID资源号提示找不到声名问题
- Swing 学习小记
- 以实际产品为例, 进行软件工程训练的作业
- 记录一次@Transactional问题处理
- C语言cJSON库的使用,解析json数据格式
- C# 获得 当年1月1号
- java第一章_java 第一章
- 计算机二级c语言考点变化,计算机二级C语言考点归纳汇总.doc
- 【芝麻背调百科】已婚员工入职新公司后申请休婚假,公司能否拒绝?
- Java根据成绩排名次_C语言按考试成绩排名次并存储到文件中
- 俄亥俄州立大学哥伦布分校计算机科学,【精选】俄亥俄州立大学哥伦布分校计算机科学与工程本科专业申请.pdf...
- 华三路由器ER3260 ipsec配置
- 认知-洞察力:洞察力
- 更新Windows 11后,桌面狂闪,没有显示图标,鼠标指针一直在加载中,如何解决?
- linux svn 查看忽略文件
- 安卓手机+LinuxDeploy+CentOS+宝塔面板的安装教程
- 常见错误:无效的文件dsn_DSN1COPY错误-SP映射页面错误
- 【C++】【读个小故事就弄懂】为什么基类指针可以指向派生类对象,而派生类指针却不可以指向基类对象?(最易懂最有趣最生动的举例)
热门文章
- 文巾解题 21. 合并两个有序链表
- 文巾解题 525. 连续数组
- Python可视化应用实战-三万字长文(建议收藏)matplotlib可视化实例,实操有效
- MySQL CURDATE() 函数
- 【Linux】10_存储管理EXT4文件系统详解
- Python编程基础:第二十八节 随机数Random Numbers
- 开源APM技术选型与实战
- /bin/bash^M: bad interpreter: 没有那个文件或目录--转载
- var_export()函数的使用举例(后续添加其他的php输出函数)
- 深入Bert实战(Pytorch)----fine-Tuning 2