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

用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秒之间,才会弹出信息。目的为了防止误操作。

发布了56 篇原创文章 · 获赞 67 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/hepu8/article/details/89062311