当前位置: 首页 > news >正文

网站建设投标邀请函广东互联网网络营销推广

网站建设投标邀请函,广东互联网网络营销推广,wordpress代码修改没反应,本地电脑如何做网站服务器Tkinter 是 Python 标准库中的一个模块,用于创建图形用户界面 (GUI)。它是 Python 中最常用的 GUI 库之一,因为它集成在 Python 的标准发行版中,无需额外安装即可使用。 一、基本用法 1. 简单示例 import tkinter as tk# 创建主窗口 root …

Tkinter 是 Python 标准库中的一个模块,用于创建图形用户界面 (GUI)。它是 Python 中最常用的 GUI 库之一,因为它集成在 Python 的标准发行版中,无需额外安装即可使用。

一、基本用法

1. 简单示例

import tkinter as tk# 创建主窗口
root = tk.Tk()
root.title("Hello Tkinter")# 创建标签并添加到主窗口
label = tk.Label(root, text="Hello, World!")
label.pack()# 运行主循环
root.mainloop()

2. 基本构成

二、组件用法

在 Python 的 tkinter 中,有 21 个核⼼组件,它们提供 了最基本的功能,这 21 个核⼼组件是 : Toplevel、Label、Button、Canvas、Checkbutton、Entry、Frame、LabelFrame、 Listbox、Menu、Menubutton、Message、OptionMenu、PaneWindow 、 Radiobutton 、 Scale 、Scrollbar 、Spinbox 、Text、Bitmap、Image

1. 窗口

import tkinter as tkroot = tk.Tk()
root.title("Main Window")	# 设置窗口标题
root.geometry("400x300")  	# 设置窗口大小
root.iconbitmap("ico.ico")	# 窗口图标
root.mainloop()

窗口的常用属性如下:

  • title:窗口标题
  • geometry :窗口大小设置
  • iconbitmap:窗口图标

2. 标签

标签可以说是最简单的窗⼝组件了,它不需要执⾏任何功能,只是⽤来显示信息。

label= Label(root, text = "欢迎来到tkinter")
label.pack()

3. 按钮

3.1 添加按钮

# 方式一
b1 = Button(root, text = "Python", command = myLabel)
b1.pack()# 方式二
b2 = Button(root, text = "Python") # command = myLabel ⽊有了
b2.bind("<Button-1>", myLabel) # 多了这⼀句

3.2 设置属性

button["width"] = 20			# 设置宽度
button["height"] = 4			# 设置高度
button["background"] = "white"	# 设置背景色

4. 输入框

输入框的类名为:Entry,如果需要密码框,则设置属性 show'*' 即可。

# ⽤户名
a_label = Label(root, text = "⽤户名:")
a_label.grid(row = 0, column = 0, sticky = W)
a_entry = Entry(root)
a_entry.grid(row = 0, column = 1, sticky = E)
# 密码
p_label = Label(root, text = "密码:")
p_label.grid(row = 1, column = 0, sticky = W)
p_entry = Entry(root)
p_entry["show"] = "*" # 密码显示为 *
p_entry.grid(row = 1, column = 1, sticky = E)print(f'用户名为:{a_label.get()}')

5. 文本域

text = Text(root, width = 50, height = 30)
text.pack()

6. 列表框

listbox = tk.Listbox(root)
listbox.insert(1, "Option 1")
listbox.insert(2, "Option 2")
listbox.pack()# 获取选中项
selected = listbox.get(listbox.curselection())

7. 复选框

var = tk.IntVar()
checkbutton = tk.Checkbutton(root, text="Check Me", variable=var)
checkbutton.pack()# 获取状态
status = var.get()  # 1 if checked, otherwise 0

8. 单选按钮

var = tk.StringVar(value="Option 1")
radiobutton1 = tk.Radiobutton(root, text="Option 1", variable=var, value="Option 1")
radiobutton2 = tk.Radiobutton(root, text="Option 2", variable=var, value="Option 2")
radiobutton1.pack()
radiobutton2.pack()# 获取选中项
selected = var.get()

9. 滑块

用于从范围中选择一个值。

scale = tk.Scale(root, from_=0, to=100, orient=tk.HORIZONTAL)
scale.pack()# 获取当前值
value = scale.get()

10. 滚动条

用于为其他小部件(如 Text、Listbox)提供滚动功能。

scrollbar = tk.Scrollbar(root)
scrollbar.pack(side=tk.RIGHT, fill=tk.Y)text_with_scroll = tk.Text(root, yscrollcommand=scrollbar.set)
text_with_scroll.pack(side=tk.LEFT)
scrollbar.config(command=text_with_scroll.yview)

11. 菜单

menu = tk.Menu(root)
root.config(menu=menu)file_menu = tk.Menu(menu)
menu.add_cascade(label="File", menu=file_menu)
file_menu.add_command(label="New")
file_menu.add_command(label="Open")
file_menu.add_separator()
file_menu.add_command(label="Exit", command=root.quit)

12. 消息

用于显示多行不可编辑的文本,自动换行。

message = tk.Message(root, text="This is a message widget", width=200)
message.pack()

13. 画布

用于绘制图形、线条、矩形、椭圆等

canvas = tk.Canvas(root, width=200, height=100)
canvas.pack()# 绘制矩形
canvas.create_rectangle(50, 20, 150, 80, fill="blue")# 绘制椭圆
canvas.create_oval(50, 20, 150, 80, fill="red")

14. 进度条

progress = ttk.Progressbar(root, orient=tk.HORIZONTAL, length=200, mode='determinate')
progress.pack()
progress.start(10)  # 开始进度条

三、布局管理

tkinter的布局分为三种:

  • pack 布局:它⾮常简单,我们不⽤做过多的设置,直接使⽤⼀个 pack 函数就可以
  • grid 布局:grid 可以理解为⽹格或表格,它可以把界⾯设置为⼏⾏⼏列的⽹格,相对位置不改变
  • place 布局:使⽤固定的位置坐标来布局

1. pack 布局

使⽤ pack 函数的时候,默认先使⽤的放到上⾯,然后依次向下排,它会给我们的组件⼀个⾃认为合适的位置和⼤⼩。
pack 函数也可以接受⼏个参数:

  • side 参数指定了它停 靠在哪个⽅向,可以为 LEFT,TOP,RIGHT,BOTTOM,分别代表 左,上,右,下
  • fill 参数可以是 X,Y,BOTH 和 NONE,即在⽔平⽅向填充,竖直⽅向填充,⽔平和竖直⽅向填充和不填充。
  • expand 参数可以是 YES 和 NO,它的 anchor 参数可 以是 N,E,S,W(这⾥的 NESW 分别表示北东南⻄,这⾥分别 表示上右下左)以及他们的组合或者是CENTER(表示中间)。
  • ipadxipady:内边距的x方向和y方向
  • padxpady:外边距的x方向和y方向

2. grid 布局

使⽤ grid 布局的时候,我们使⽤ grid 函数,在⾥⾯指 定两个参数,⽤ row 表示⾏,⽤ column 表示列,注意的是 row 和 column 的编号都从 0 开始。支持以下参数:

  • row:所在行
  • column:所在列
  • sticky:它可以⽤ N,S,W,E 表示 上,下,左,右 , 它决定了这个组件是从哪个⽅向开始的。
  • ipadxipady:内边距的x方向和y方向
  • padxpady:外边距的x方向和y方向
  • rowspan:表示跨越的行数
  • columnspan:表示跨越的列数
from tkinter import *
py = Tk()
Label(py, text = "账号:").grid(row = 0, sticky = W)
Entry(py).grid(row = 0, column = 1, sticky = E)
Label(py, text = "密码:").grid(row = 1, sticky = W)
Entry(py).grid(row = 1, column = 1, sticky = E)
Button(py, text = "登录").grid(row = 2, column = 1, sticky = E)
py.mainloop()

在这里插入图片描述

3. place 布局

它使⽤ place 函数,它分为 绝对布局 和 相对布局 ,绝对布局使⽤ x 和 y 参数,相对布局使⽤ relx,rely, relheight 和 relwidth 参数。

4. 总结

  • place 不推荐使⽤,pack 和 grid 布局更常⽤⼀些
  • 如果布局相对简单,建议使⽤pack
  • 如果布局相对复杂,建议使用grid
  • pack 和 grid 不能同时使用

四、事件

我们的很多操作,⽐如我们点击了⼀下⿏标,这就是⼀个事件,⽽操作系统会根据我们的相应的事件产⽣相应的消息,操作系统把消息传递给我们的应⽤程序,然后我们的应⽤程序根据操作系统传⼊的数据执⾏相应的命令。
事件是我们触发的,消息是操作系统根据我们的事件产⽣的,我们通常对于“消息”并不多关注,我们重视的是 “事件”。

1. 常用事件

  • <Button-1>: 表示⿏标左键单击
  • <Button-2>: 表示⿏标中键单击
  • <Button-3>: 表示⿏标右键单击
  • <KeyPress-A>:表示 A 键被按下,其中的 A 可以换成其他的键位
  • <Control-V>:表示按下的是 Ctrl 和 V 键,V 可以换成其他键位
  • <F1>:表示按下的是 F1 键,对于 Fn 系列的改变数字即可

2. 事件绑定

以下代码可实现标签模拟按钮的操作

n = Label(py, text = "我可不是真Button哟~")
n.bind("<Button-1>", myLabel)
n.pack()

3. bind 函数

  • bind():第一个参数为事件,第二个参数为回调函数名,用于绑定指定控件
  • bind_all():它的参数类型和 bind ⼀样,它通常⽤于全局的快捷键,⽐如 F1 通常 是⽤来打开帮助⽂档
  • bind_class():它接受三个参数, 第⼀个参数是类名,第⼆个参数是事件类型,第三个参数 是相应的操作
  • unbind():解除绑定事件
# 绑定了所有的输⼊框的 Ctrl+V 表示粘贴
w.bind_class('Entry','<Control-V>', my_paste)

五、常见案例

http://www.tj-hxxt.cn/news/46451.html

相关文章:

  • 品牌营销的定义山东东营网络seo
  • html做动态网站吗查企业信息查询平台
  • 微信app下载最新版本seo推广专员招聘
  • 网站制作 符合百度长尾词挖掘
  • 日本人真人做真爱的免费网站无限看马鞍山网站seo
  • 自己能网站建设河南it渠道网
  • 一级a做爰免费网站登封网站建设公司
  • 天津网站建设哪家好黄石市seo关键词优化怎么做
  • 电子商务网站的建设危机公关处理方案
  • 广州 网站制企业品牌类网站有哪些
  • 合肥做网站的价格百度公司有哪些部门
  • 网站手机版方案电商seo引流
  • 网站建设的计划河北百度竞价优化
  • django 网站开发视频网站交易
  • 做哪类视频网站需要视频牌照福州网站seo优化公司
  • 网页特效代码大全免费seo网站优化外包
  • 上海佐兹设计公司官网ios aso优化工具
  • 国内购物网站大全推广网站的公司
  • 大学生怎么做网站支付模块微信如何引流推广精准加人
  • wordpress内部架构seo公司是什么意思
  • 做的网站空白了原版百度
  • 重庆巫山网站设计哪家专业河源网站seo
  • 什么网站做电脑系统好绍兴seo管理
  • wordpress语法高亮插件seo关键词怎么优化
  • 网站如何做数据分析seo公司多少钱
  • 开微信公众号流程阿里seo排名优化软件
  • 做影视剧组演员垂直平台网站seo推广顾问
  • 杭州网站建设长春公司郑州做网站哪家好
  • 电商网站建设概念代引流推广公司
  • 怎么做淘宝客手机网站推广如何优化关键词搜索排名