tkinter大学习

制作简易窗口界面

import tkinter as tk # 使用Tkinter前需要先导入

#第1步,实例化object,建立窗口window
window = tk.Tk()
#第2步,给窗口的可视化起名字
window.title(‘My Window’)
#第3步,设定窗口的大小(长 * 宽)
window.geometry(‘500x300’) # 这里的乘是小x
#第4步,在图形界面上设定标签
l = tk.Label(window, text=‘你好!this is Tkinter’, bg=‘green’, font=(‘Arial’, 12), width=30, height=2)
#说明: bg为背景,font为字体,width为长,height为高,这里的长和高是字符的长和高,比如height=2,就是标签有2个字符这么高
#第5步,放置标签
l.pack() # Label内容content区域放置位置,自动调节尺寸
#放置lable的方法有:1)l.pack(); 2)l.place();
#第6步,主窗口循环显示
window.mainloop()

#注意,loop因为是循环的意思,window.mainloop就会让window不断的刷新,如果没有mainloop,就是一个静态的window,传入进去的值就不会有循环,mainloop就相当于一个很大的while循环,有个while,每点击一次就会更新一次,所以我们必须要有循环
#所有的窗口文件都必须有类似的mainloop函数,mainloop是窗口文件的关键的关键。
在这里插入图片描述

窗口部件及简要说明:
Button:一个简单的按钮,用来执行一个命令或别的操作。
#鼠标左键
#鼠标右键
#鼠标中键
#鼠标中建双击
#鼠标左键三击

Canvas:组织图形。这个部件可以用来绘制图表和图,创建图形编辑器,实现定制窗口部件。

Checkbutton:代表一个变量,它有两个不同的值。点击这个按钮将会在这两个值间切换。·#复选框

import tkinter
win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)
def updata():
message = “”
if hobby1.get() == True:
message += “money\n”
if hobby2.get() == True:
message += “power\n”
if hobby3.get() == True:
message += “mpeople\n”

清除text的所有内容

text.delete(0.0, tkinter.END)
text.insert(tkinter.INSERT, message)
hobby1 = tkinter.BooleanVar()
check1 = tkinter.Checkbutton(win, text=“money”, variable=hobby1, command=updata)
check1.pack()
hobby2 = tkinter.BooleanVar()
check2 = tkinter.Checkbutton(win, text=“power”, variable=hobby2, command=updata)
check2.pack()
hobby3 = tkinter.BooleanVar()
check3 = tkinter.Checkbutton(win, text=“people”, variable=hobby3, command=updata)
check3.pack()
text = tkinter.Text(win, width=50, height=5)
text.pack()
win.mainloop()
在这里插入图片描述

Entry:文本输入域。import tkinter

win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)

frm = tkinter.Frame(win)
frm.pack()
#left
frm_1 = tkinter.Frame(frm)

tkinter.Label(frm_1, text=“左上”, bg=“pink”).pack(
side=tkinter.TOP)
tkinter.Label(frm_1, text=“左下”, bg=“blue”).pack(
side=tkinter.TOP)
frm_1.pack(side=tkinter.LEFT)

#right
frm_r = tkinter.Frame(frm)

tkinter.Label(frm_r, text=“右上”, bg=“red”).pack(
side=tkinter.TOP)
tkinter.Label(frm_r, text=“右下”, bg=“yellow”).pack(
side=tkinter.TOP)
frm_r.pack(side=tkinter.RIGHT)

win.mainloop()在这里插入图片描述

Frame:一个容器窗口部件。帧可以有边框和背景,当创建一个应用程序或dialog(对话)版面时,帧被用来组织其它的窗口部件。

Label:显示一个文本或图象。
import tkinter
win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)
label1 = tkinter.Label(win, text=“good”, bg=“pink”)
label2 = tkinter.Label(win, text=“nice”, bg=“blue”)
label3 = tkinter.Label(win, text=“cool”, bg=“red”)
#绝对布局,窗口的变化位置没有影响
label1.place(x=10, y=10)
label2.place(x=50, y=50)
label3.place(x=100, y=100)
win.mainloop()
在这里插入图片描述

Listbox:显示供选方案的一个列表。listbox能够被配置来得到radiobutton或checklist的行为。

import tkinter
win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)
创建一个listbox,添加几个元素
#SINGLE与BORWSE类似,但是不支持鼠标移动选中位置
lb = tkinter.Listbox(win, selectmode=tkinter.BROWSE)
lb.pack()
for item in [“good”, “nice”, “handsome”, “cool”]:
# 按顺序添加
lb.insert(tkinter.END, item)
#在开始添加
#将列表当成元素添加
#删除 参数1为开始的索引,参数2为结束的索引,
#如果不指定参数2,只删除第一个索引的内容
lb.insert(tkinter.ACTIVE, “cool”)
lb.insert(tkinter.END, ["very good ", “very nice”])
#lb.delete(1, 3)
lb.select_set(2, 5)
#取消
#lb.select_clear(2, 4)
#获取到列表中的元素的个数
#print(lb.size())
#从列表中取值
#print(lb.get(2, 4))
#返回当前的索引项,不是item元素
print(lb.curselection())
#判断 一个选项是否被选中
print(lb.select_includes(1))
print(lb.select_includes(3))
win.mainloop()
在这里插入图片描述

Menu:菜单条。用来实现下拉和弹出式菜单。
(1)菜单栏
import tkinter

win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)

def func():
print("sunk is a good man ")

#菜单条
menubar = tkinter.Menu(win)
win.config(menu=menubar)
#创建一个菜单选项
menu1 = tkinter.Menu(menubar, tearoff=False)
#给菜单选项添加内容
for item in [“Python”, “c”, “c++”, “OC”,
“SWITFG”, “JAVA”, “PHP”, “JS”]:
if item == “退出”:

添加分割线

    menu1.add_separator()
    menu1.add_command(label=item, command=win.quit)
else:
    menu1.add_command(label=item, command=func)
    ```

#添加菜单选项
menubar.add_cascade(label=“语言”, menu=menu1)
menu2 = tkinter.Menu(menubar, tearoff=False)
menu2.add_command(label=“red”)
menu2.add_command(label=“blue”)
menubar.add_cascade(label=“颜色”, menu=menu2)

win.mainloop()在这里插入图片描述

(2)鼠标右键菜单

import tkinter

win = tkinter.Tk()
win.title(“sunk”)
win.geometry(“400x400+200+20”)

#菜单条
menubar = tkinter.Menu(win)
#菜单
#创建一个菜单选项
menu = tkinter.Menu(menubar, tearoff=False)
#给菜单选项添加内容
for item in [“Python”, “c”, “c++”, “OC”,
“SWITFG”, “JAVA”, “PHP”, “JS”]:
menu.add_command(label=item)

menubar.add_cascade(label=“语言”, menu=menu)

def showMenu(event):
menubar.post(event.x_root, event.y_root)

win.bind("", showMenu)

win.mainloop()

在这里插入图片描述

Menubutton:菜单按钮。用来实现下拉式菜单。

Message:显示一文本。类似label窗口部件,但是能够自动地调整文本到给定的宽度或比率。

Radiobutton:代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。

Scale:允许你通过滑块来设置一数字值。
#Label Scale Button综合
from tkinter import *
def resize(event=None):
label.config(font=“Helvetica -%d bold” %
scale.get())
top = Tk()
top.geometry(“250x150”)
label = Label(top, text=“Hello world”, font=“Helvetica -12 bold”)
label.pack(fill=Y, expand=1)
scale = Scale(top, from_=“10”, to=“40”, orient=HORIZONTAL,
command=resize)
scale.set(12)
scale.pack(fill=X, expand=1)
quit = Button(top, text=“QUIT”,
command=top.quit,
activeforeground=“white”,
activebackground=“red”)
quit.pack()
mainloop()
在这里插入图片描述
在这里插入图片描述

Scrollbar:为配合使用canvas, entry, listbox, and text窗口部件的标准滚动条。

Text:格式化文本显示。允许你用不同的样式和属性来显示和编辑文本。同时支持内嵌图象和窗口。

Toplevel:一个容器窗口部件,作为一个单独的、最上面的窗口显示。

messageBox:消息框,用于显示你应用程序的消息框。(Python2中为tkMessagebox)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值