【第六集】Python GUI之Lable、Message、Text

目录

一、Lable

二、Message

三、Text 

1.简单应用

2.实用技巧


一、Lable

绘制单行文本使用 Label 组件

root = tkinter.Tk()
# 选项row代表行,column代表列 
tkinter.Label(root, text='标签').grid(row=0, column=0)

二、Message

Message 组件实际上是 Label 组件(只能显示单行)的变体,用于显示多行文本消息。Message 组件能够自动换行,并调整文本的尺寸使其适应给定的尺寸。

https://blog.csdn.net/sinat_41104353/article/details/79316684

三、Text 

显示和处理多行文本就需要使用Text 组件

1.简单应用

插入文本 插入按钮 插入图片

import tkinter
def pyText2():    
    root = tkinter.Tk()
    text = tkinter.Text(root, width=30, height=20)
    
    '''插入文字'''
    text.pack()
#    text.grid(row=0, column=0) 
    text.insert(tkinter.INSERT, '中国联合网络通信集团有限公司\n')
    text.insert(tkinter.END, '告警推送v1.0')
 
    def show():
        print('反馈成功')
  #注意放入的是Text而不是root了
    b1 = tkinter.Button(text, text='插入文字', command=show)
    b1.pack()
#    b1.grid(row=1, column=0)
    text.window_create(tkinter.INSERT, window=b1)
      
    '''插入图片'''
    photo = tkinter.PhotoImage(file="")  #只支持GIF格式的
 
    def show2():
        text.image_create(tkinter.END, image=photo)
 
    b2 = tkinter.Button(text, text='插入图片', command=show2) #注意放入的是Text而不是root了
    b2.pack()
#    b2.grid(row=3, column=0)
    text.window_create(tkinter.INSERT, window=b2)


    tkinter.mainloop()

2.实用技巧

检查 撤销 查找

import tkinter
def pyText():
    root = tkinter.Tk()
 
    text = tkinter.Text(root, width=30, height=5,undo=True)
    text.pack()
 
    text.insert(tkinter.INSERT, '告警数据核查')
    contents = text.get('1.0', tkinter.END)
    
    def getSig(contents):
        n = hashlib.md5(contents.encode())
    #只需要得到md5值n的简单摘要即可
        return n.digest()  
    sig = getSig(contents)
#  点下检查的时候,会重新获得一次contents的内容,将原来的contents进行一个md5的hash,
#  获得它的md5的值;同时也获得之后contents的md5的值,将两者进行对比。
#  由于一个内容只能产生一个唯一的散列,因此若不一样,就说明内容发生了改变。
    def check(): 
        contents = text.get('1.0', tkinter.END)
        if sig != getSig(contents):
            print("内容发生变动")
        else:
            print("内容没有发生变动")
    tkinter.Button(root, text="检查", command=check).pack()
    
#  一旦有键盘事件就人为在undo堆栈中,添加一个separator(分隔标识)    
    def callback(event):
        text.edit_separator()  
    text.bind('<Key>', callback)

    def undo():
        text.edit_undo()
        
    tkinter.Button(root, text='撤销', command=undo).pack()
 
    tkinter.mainloop()
 

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值