用Tkinter打造GUI开发工具(8)对齐方式和浮雕风格

112 篇文章 45 订阅
106 篇文章 119 订阅

用Tkinter打造GUI开发工具(8)对齐方式和浮雕风格
我们这篇继续介绍Tkinter通用属性。
首先介绍对齐方式。Tkinter小部件的对齐方式用属性anchor。anchor取值有tk.N(上),tk.NE(右上),tk.E(右),tk.SE(右下),tk.S(下),tk.SW(左下),tk.W(左),tk.NW(左上),tk.CENTER(中间)。
在这里插入图片描述
我们给出一个对齐方式的示例程序。

# -*- coding: utf-8 -*-
#Tkinter位置anchor
import tkinter as tk
root=tk.Tk()
for a in [tk.N,tk.NE,tk.E,tk.SE,tk.S,tk.SW,tk.W,tk.NW,tk.CENTER]:
    f = tk.Frame(root, borderwidth=2,bg='#FFFFFF',height=20,width=20)    
    tk.Label(f, text=str(a), fg='black',anchor=a,height=5,width=10).pack()
    f.pack(side=tk.LEFT)
root.mainloop()

程序运行结果如下图。
在这里插入图片描述
下面介绍Tkinter小部件的浮雕风格。
Tkinter小部件的浮雕风格用relief属性来设置。能够设置的取值有RAISED,SUNKEN,FLAT,RIDGE,GROOVE,SOLID等。
下面我们通过示例程序,来看看运行的效果。在程序中同时演示了不同边框borderwidth大小的效果。

# -*- coding: utf-8 -*-
#Tkinter边框效果relief
import tkinter as tk
root=tk.Tk()
row = [None]*5
for bdw in range(5):
    row[bdw] = tk.Frame(root, borderwidth=0)
    tk.Label(row[bdw], text='borderwidth = %d ' % bdw).pack(side=tk.LEFT)
    i = 0
    column = []
    for relief in [tk.RAISED,tk.SUNKEN, tk.FLAT,tk.RIDGE, tk.GROOVE, tk.SOLID]:
        column.append(tk.Frame(row[bdw], borderwidth=bdw, relief=relief))
        tk.Label(column[i], text=relief, width=10).pack(side=tk.LEFT)
        column[i].pack(side=tk.LEFT, padx=7-bdw, pady=5+bdw)
        i += 1
    row[bdw].pack()
root.mainloop()

程序运行结果如下图。
在这里插入图片描述

通通量化和小白量化主要使用了HP_tk模块,荷蒲Tkinter扩展包。
现在随着笔者对Python和Tkinter的熟悉,正在打造HP_tk2模块,荷蒲Tkinter扩展包v2.0版本。
最近笔者深入学习Tkinter新做了一个信息提示的功能。笔者称为信息气泡,目前只能用于windows系统上。
信息气泡功能:鼠标在任何部件上停留2-3秒之间,就会出现提示文字信息,显示5秒后,会自动在屏幕中漂移,缩小,淡化透明在屏幕中。
在这里插入图片描述
Ballon类的使用格式如下。
Ballon(root, message=’’,x=0,y=0,bg=’’,zoom=True,offsetx=0,offsety=0,size=10)
其中root一般选为Tk()主窗口。
(x,y)指定屏幕坐标。
bg背景颜色。为空自动随机生成背景色。
zoom为True,会自动缩小。
offsetx=0,offsety=0为偏移,可以正或负整数。
使用示例。

        import HP_tk2 as htk

        def mess2(event):
            xx=event.x_root+10
            yy=event.y_root+20
            b2=htk.Ballon(root=g.root,message='创建新Form表单!',x=xx,y=yy,offsety=2,offsetx=+4,size=12)
    
        b1.bind('<Enter>',mess2)  

注意:鼠标要滑过2次,2次之间间隔为2-3秒之间,才会弹出信息。目的为了防止误操作。

  • 6
    点赞
  • 19
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

荷蒲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值