Entry小部件:
导入tkinter
import Tkinter
from Tinter import * import tkinter
from tinter import *
实例化Tk类
root=tkinter.Tk()
窗口标题
root.title('My Window')
设定窗口的大小(长 * 宽)
root.geometry('500x300') # 这里的乘是小x
禁止宽度拉伸高度可自由拉伸:root.resizable(width=False, height=True)
禁止高度拉伸宽度可只有拉伸:root.resizable(width=True, height=False)
设置图标;图标必须是以 .ico 为后缀的图标文件,放于同目录下。
root.iconbitmap("app.ico")
设置背景颜色:可以用英文名,也可以用RGU,十六进制表示的颜色。
root["background"] = "blue"
设置透明度:透明度的值是0~1 可以是小数点,0:全透明;1:全不透明
win.attributes("-alpha", 0.6)
工具样式:True 只有退出按钮,也没有图标; False 正常的窗体样式
win.attributes("-toolwindow", True)
全屏模式:True 全屏;False 正常显示
win.attributes("-fullscreen", True)
窗体置顶:True 所有窗口中处于最顶层;False 正常显示
win.attributes("-topmost", True)
脱离工具栏:True 没有工具栏按钮;False 正常显示
win.overrideredirect(True)
窗体的三个方法:
获取屏幕的大小;
screen_height = root.winfo_screenheight()
screen_width = root.winfo_screenwidth()
# 获取屏幕的大小;
win_height = root.winfo_height()
win_width = root.winfo_width()
# 获取窗体的位置
win_x = win.winfo_x()
win_y = win.winfo_y()
主窗口循环显示
window.mainloop()
该程序将保持在事件循环中,直到我们关闭窗口。事件循环不仅处理用户事件(例如鼠标单击和按键)或窗口系统(例如重绘事件和窗口配置消息) ,还处理Tkinter本身排队的操作这些操作包括几何图形管理(通过pack方法排队)和显示更新。这也意味着在进入主循环口将不会出现
主循环调用进入Tk事件循环,在此循环中,应用程序将一直停留到调用quit方法(只需单击quit按钮),或者窗口关闭
root.destroy()
只有在某些开发环境下运行此示例时才需要destroy调用;当事件循环终止时,它显式地销毁主窗口。有些开发环境不会终止Python进程,除非这样做
Label控件
更新text
先定义一个:tk变量,v = tk.StringVar()
再使用:textvariable=v
import tkinter as tk
import time # 背景色与前景色
win = tk.Tk() # 定义变量,必须是使用的是tk里的这个变量
v = tk.StringVar() # 使用v.set("string") 来定义变量
v.set("这是刚开始的文字") # 在标签里添加可变的文本
label_1 = tk.Label(win, textvariable=v, fg="red", bg="green", font=("黑体", 40))
label_1.pack()
while True:
v.set("%s" % time.ctime())
label_1.update()
time.sleep(1) win.mainloop()
属性 | 说明 | 用法 | 例子 | 备注 |
text | 标签显示的文本 | font=("字体名",大小);font = ( '黑体' , 40 , 'bold' , 'italic' ) |
import tkinter as tk # 背景色与前景色
|
#bold:粗体,italic:斜体,overstrike:横穿线 |
font | 设置文本的字体和大小 | fg="red" or fg="#121234" | ||
fg(foreground) | 字体的颜色, | |||
bg (background) | 标签的背景色 | |||
width | 标签的宽度(一个中文的字体宽为单位) | 以系统默认的中文的一个字体宽高为单位 | ||
height | 标签的高度(一个中文的字体高为单位) | 以系统默认的中文的一个字体宽高为单位 | ||
padx | 文字到边框的距离,水平方向 | 单位是像素,默认是1像素 | ||
pady | 文字到边框的距离,垂直方向 | 单位是像素,默认是1像素 | ||
bd(borderwidth) | 边框的宽 | |||
relief | 边框的样式 | relief="sunken" |
import tkinter as tk win = tk.Tk() # 在标签里放入图片SUNKEN, RAISED, GROOVE, and RIDGE
|
relief 表示边框样式,可选的参数有:flat(平的),sunken (沉没的, 凹下去的),raised (提高,凸出来的),ridge(脊,中键凸的) relief="sunken", 默认是flat. |
justify | 文本对齐方式 | justify="left" |
# 对齐方式
|
Label 里的文本支持 转移字符 \n \t 等,可取 "left" ,"right", "center" ,默认是"center"居中对齐 |
image | 图片 |
import tkinter as tk win = tk.Tk() # 导入图片
|
只放图片,没有文字需要先导入图片的路径:img1 = tk.PhotoImage(file="image/01.png") 再使用:image=img1 注:目前支持 .png 与 .gif 格式, 还不支持 .jpg格式 |
|
compound | 图片与文字的混搭 | compound="对齐方式" |
import tkinter as tk win = tk.Tk() # 导入图片
|
对齐方式有:'left', "right", "center" |
anchor | 方位 |
import tkinter as tk win = tk.Tk()
|
anchor 可选的参数有:"e","w","s","n","ne","se","nw","sw",就是东西南北八个方向 | |
链接:https://www.cnblogs.com/zyg123/p/10351055.html |
Button 控件:
属性 | 说明 |
---|---|
text | 标签显示的文本 |
font | 设置文本的字体和大小 |
fg(foreground) | 字体的颜色, |
bg (background) | 标签的背景色 |
width | 标签的宽度(一个中文的字体宽为单位) |
height | 标签的高度(一个中文的字体高为单位) |
cursor | 鼠标的样式 |
command | 绑定事件 |
padx | 文字到边框的距离,水平方向 |
pady | 文字到边框的距离,垂直方向 |
bd(borderwidth) | 边框的宽度 |
relief | 边框的样式 |
justify | 文本对齐方式 |
image | 图片 |
compound | 图片与文字的混搭 |
anchor | 方位 |
Entry小部件:
窗口小部件是小部件用于输入或显示文本的一行一个标准Tkinter的
输入小部件用于输入文本字符串。该小部件允许用户以一种字体输入一行文本。
要输入多行文本,请使用“ 文本”小部件
e.delete(0, END) //删除内容
e.insert(0, "a default value") //插入文本
s = e.get() //获取当前Entry文本
您还可以将条目小部件绑定到StringVar实例,并通过该变量设置或获取条目文本:
v = StringVar()
e = Entry(master, textvariable=v)
e.pack() v.set("a default value")
s = v.get()
几何管理
pack
属性 | 说明 | 用法 | 例子 | 备注 |
side | 按扭停靠在窗口的哪个位置 | side=LEFT |
#!/usr/bin/env python 效果: |
left: 左;top: 上;right: 右;botton: 下 |
fill |
填充,填充x(y)方向上的空间,当属性 side=”top”或”bottom”时,填充x方向; 当属性side=”left”或”right”时,填充”y” 方向;当expand选项为”yes”时,填充父 控件的剩余空间。 |
fill=NONE |
x:水平方向填充 y:竖直方向填充 both:水平和竖直方向填充 none:不填充 |
|
expand |
当值为True时,side选项无效。控件显示 在父控件中心位置; 若fill选项为”both”,则充满父控件的空间。 |
expand=YES |
取值范围:“yes”,”no”,”y”,”n” 自然数,浮点数 “no”, 0,True,False (默认值为“no”或0); yes:扩展整个空白区,no:不扩展 |
|
anchor |
控件的摆放方式。默认是居中。左对齐 ”w”,右对齐”e”,顶对齐”n”, 底对齐”s”。w 和e可以与n和s组合使用 |
anchor=SE |
N:北 下 E:东 右 S:南 下 W:西 左 CENTER:中间 |
|
padx | x方向的外边距 | |||
pady | y方向的外边距 | |||
ipadx | x方向的内边距 | |||
ipady | y方向的内边距 | |||
beforе |
将本组件于所选组建对象之前pack, 类似于先创建本组件再创建选定组件 |
取值范围:已经pack后的组件对象 | ||
in |
将本组件作为所选组建对象的子组件, 类似于指定本组件的master为选定组件 |
取值范围:已经pack后的组件对象 | ||
after |
将本组件于所选组建对象之后pack, 类似于先创建选定组件再创建本组件 |
|||
链接:https://blog.csdn.net/lnaruto1234/article/details/89501824 |
由以上过程可知,pack会自动填充空间,而且下一个控件pack的地方永远是上一个空间pack完后剩余空间,关于expand属性,当其为真的时候,则会将其能扩展的最大空间
grid
选项 | 说明 | 例子 | 案例 | 备注 |
column | 单元格的列号 |
column=1 |
from tkinter import *
效果: |
取值范围:从0开始的正整数 |
columnspan | 跨列,跨越的列数 | columnspan=2 | 取值范围:正整数 | |
row | 单元格的行号 | row=2 | 取值范围:从0开始的正整数 | |
rowspan | 跨行,跨越的行数 | rowspan=2 | 取值范围:正整数 | |
ipadx | 设置子组件之间的间隔, x方向,默认单位为像素 | 取值范围:非浮点数,默认0.0 | ||
ipady | 设置子组件之间的间隔, y方向,默认单位为像素 | 取值范围:非浮点数,默认0.0 | ||
padx | 与之并列的组件之间的间隔, x方向或者y方向,默认单位是像素 | 取值范围:非浮点数,默认0.0 | ||
pady | 与之并列的组件之间的间隔, x方向或者y方向,默认单位是像素 | 取值范围:非浮点数,默认0.0 | ||
sticky | 组件紧贴所在单元格的某一角,对应于东南西北中以及4个角 |
sticky=E |
取值范围:"n","s","w","e","nw","sw","ne","se","center" (默认);“EW”:沾满单元格 | |
place
属性 | 说明 | 用法 | 例子 | 备注 | |
x, y | 组件左上角的绝对坐标(相对于窗口) |
x=30,y=30 |
#coding=utf-8
效果: |
非负整数 x和y选项用于设置偏移(像素) ,如果同时设置 relx(rely) 和x(y),那么place将优先计算relx和rely,然后再实现x和y指定的偏移值 |
|
relx,rely |
组件左上角的坐标(相对于父容器) |
relx=0.6,rely=0.7 |
relx是相对父组件的位置。0是最左边, 0.5是正中间, 1是最右边; rely是相对父组件的位置。0是最上边, 0.5是正中间, 1 是最下面 |
||
width,height | 组件的宽度和高度 |
width=200,height=200 |
非负整数 | ||
relwidth,relheight | 组件的宽度和高度 " (相对于父容器) |
relwidth=0.2, |
与relx, rely取值类似,但是相对于父组件的尺寸 | ||
anchor |
控件的摆放方式。默认是居中。左对齐 ”w”,右对齐”e”,顶对齐”n”,底对齐”s”。w 和e可以与n和s组合使用 |
anchor=SE | 取值范围:"n","s","w","e","nw","sw","ne","se","center" (默认);“EW”:沾满单元格 | ||
原文链接:https://blog.csdn.net/qq_15181569/article/details/93749774 |
取值范围:已经pack后的组件对象
最新文章
- UniqueIdentifier 数据类型 和 GUID 生成函数
- Oracle 11g系列:数据表对象
- 利用在线工具根据JSon数据自动生成对应的Java实体类
- js之事件冒泡和事件捕获介绍
- 【转】commons-lang.jar包简介
- 关于 iOS 批量打包的总结
- pythonxy 安装
- IIS 添加mime 支持 apk,exe,.woff,IIS MIME设置 ,Android apk下载的MIME 设置 苹果ISO .ipa下载mime 设置
- zabbix实现对磁盘动态监控
- WebADI应用到Office 2016 64-bit
- 再谈Java方法传参那些事
- 手机QQ无法临时会话的解决方案
- java: Java中this和super的用法总结
- java容器类分析:Collection,List,ArrayList
- Python3 字典
- LVS实现负载均衡原理
- LOJ#510 北校门外的回忆(找性质+倍增+线段树)
- rpm梳理
- wpf使用FFMEPG录制屏幕
- sql去重;同一条数据出现多条取一条的sql语句
热门文章
- linux---基础学习
- ECMAScript基本对象——Global全局对象
- win10 mysql数据库中文乱码
- C# WPF发票打印
- simmon effect : build the funcion of trail list
- 使用mysql8.+版本,使用mybatis的代码生成工具:mybatis-generator连接数据库时Unknown initial character set index '255' received from server. Initial client character set can be forced via the 'characterEncoding' property.
- C语言 switch
- vue中的this.$nextTick()使用
- 更改pip为豆瓣源加速下载
- ECMAScript基本语法——⑤运算符 比较运算符