Tkinter常用组件系列

T k i n t e r 常 用 组 件 系 列 Tkinter常用组件系列 Tkinter

1.Tkinter之Label

from tkinter import *
import cv2
from PIL import Image,ImageTk

def resize_img_to_canvas(img,width,height):
    img2 = cv2.resize(img, (width, height),interpolation=cv2.INTER_LANCZOS4)
    img3 = Image.fromarray(cv2.cvtColor(img2, cv2.COLOR_BGR2RGB))
    # img3.show()
    img_resized = ImageTk.PhotoImage(img3)
    return img_resized

win = Tk()
# 显示文本
Label1 = Label(win,text="test").pack()

img_back = cv2.imread("../masks.jpg")
img_back = resize_img_to_canvas(img_back, 100, 100)
# 显示图像
Label2 = Label(win,image=img_back).pack()


win.mainloop()

2.Tkinter之Button

from tkinter import *
win = Tk()
# 显示tkinter内置的位图
bitmap_list = ['error', 'hourglass', 'questhead', 'info',
                'question', 'warning', 'gray12', 'gray50',
                'gray75']
for bitmap in bitmap_list:
    Button(win, bitmap=bitmap).pack()
win.mainloop()
import tkinter as tk
win = tk.Tk()
def callback():
    print("我被调用了!")

b = tk.Button(win, text="执行", command=callback)
b.pack()
win.mainloop()

3.Tkinter之checkBoutton

from tkinter import *
win = Tk()
v1 = IntVar()
checkbox1 = Checkbutton(win,text="1",variable=v1).pack()
v2 = IntVar()  # 绑定值
checkbox2 = Checkbutton(win,text="2",variable=v2).pack()
v2.set(1) # 1为选中
win.mainloop()

4.Tkinter之RadioButton

import tkinter as tk

win = tk.Tk()

v = tk.IntVar()
tk.Radiobutton(win, text="One", variable=v, value=1).pack(anchor="w")
tk.Radiobutton(win, text="Two", variable=v, value=2).pack(anchor="w")
tk.Radiobutton(win, text="Three", variable=v, value=3).pack(anchor="w")

v.set(1)
print(v.get())
win.mainloop()

5.Tkinter之Entry

6.Tkinter之ListBox

from tkinter import *

win = Tk()

# 创建一个空列表
theLB = Listbox(win, selectmode=EXTENDED)
theLB.pack()

# 往列表里添加数据
for item in ["1", "2", "3", "4"]:
    theLB.insert(END, item)

theButton = Button(win, text="删除", command=lambda x=theLB: x.delete(ACTIVE))
theButton.pack()

mainloop()

在这里插入图片描述

# _*_coding:UTF-8 _*_
# 开发团队:明日科技
# 开发人员:pc
# 开发时间:2020/3/12  17:22
# 文件名称:demo2.PY
# 开发工具:PyCharm

# Listbox的高级使用

from tkinter import *
# 该方法的第一个参数原列表,第二个是目标列表
def add(from1,to1):
    # from1.curselection()  为获取选中的项的序号元祖
    item1=from1.get(from1.curselection())    #获取选中的项的内容
    to1.insert(END,item1)                    #在目标列表中插入选项
    from1.delete(from1.curselection())       #删除原目标组中的该选项

win=Tk()
win.title("添加快捷消息列表")
win.geometry("500x400")
Label(win,text="left").grid(row=0,column=0)
Label(win,text="right").grid(row=0,column=2)
# 列表内容
var1 = StringVar()
var1.set("1 2 3 4 5")
var2 = StringVar()
var2.set("1 2 3 4 5")
listbox1 = Listbox(win,selectmode="single",listvariable=var1)
listbox2 = Listbox(win,selectmode="single",listvariable=var2)

listbox1.grid(row=1,column=0,rowspan=2)
listbox2.grid(row=1,column=2,rowspan=2)
btn1=Button(win,text=">>>",command=lambda :add(listbox1,listbox2)).grid(row=1,column=1,padx=10)
btn2=Button(win,text="<<<",command=lambda :add(listbox2,listbox1)).grid(row=2,column=1,padx=10)
win.mainloop()


在这里插入图片描述

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值