码迷,mamicode.com
首页 > 编程语言 > 详细

Python GUI 02----Label

时间:2015-04-15 19:42:48      阅读:208      评论:0      收藏:0      [点我收藏+]

标签:python   tkinter   

在上一篇文章中已经用到了Label组件。

组件的使用步骤如下:

1.创建这个控件


2.指定这个空间的master,即这个控件属于哪一个


3.告诉GM(geometry manager)有一个控件产生了


1.text属性使用方法

import tkinter                                 
  
top=tkinter.Tk()                               
label=tkinter.Label(top,text="hello world")       
label.pack()                                  
tkinter.mainloop() 

2.label内置位图bitmap的使用方法

import tkinter                                 
  
top = tkinter.Tk()
label = tkinter.Label(top,bitmap = 'error')   #上面的代码使用了内置位图error
label.pack()
top.mainloop()

技术分享

3.改变控件的前景色和背景色

‘fg:前景色
bg:背景色
设置背景色的一个大的用处是:可以判断控件的大小(不同的控件使用不同的颜色,后续内容可以使用此特性来调试container)

from tkinter import *
root = Tk()
#在创建Label时指定各自使用的颜色
'''可以使用的颜色值:'''
#使用颜色名称
Label(root,fg = 'red',bg = 'blue',text = 'Hello I am Tkinter').pack()
#使用颜色值#RRGGBB
Label(root,fg = 'red',bg = '#FF00FF',text = 'Hello I am Tkinter').pack()
#使用系统相关的颜色值(Windows),不建议使用这样的值,不利于平台移植
Label(root,fg = 'red',bg = 'SystemButtonShadow',text = 'Hello I am Tkinter').pack()
root.mainloop()

4.设置宽度与高度

from tkinter import *
root = Tk()
#创建三个Label,分别显示red,blue,yellow
#注意三个Label的大小,它们均与文本的长度有关
Label(root,text = 'red',bg = 'red').pack()
Label(root,text = 'blue',bg = 'blue').pack()
Label(root,text = 'yellow',bg = 'yellow').pack()

#再创建三个Label,与上次不同的是这三个Label均使用width和heigth属性
#三个Label的大小由width和height指定
Label(root,bg = 'red',width = 10,height = 3).pack()
Label(root,bg = 'blue',width = 10,height = 3).pack()
Label(root,bg = 'yellow',width = 10,height = 3).pack()
root.mainloop()

5.同时使用图像与文本

compound:    指定文本(text)与图像(bitmap/image)是如何在Label上显示,缺省为None,当指定image/bitmap时,文本(text)将被覆盖,只显示图像了。可以使用的值:
    left:    图像居左
    right:    图像居右
    top:    图像居上
    bottom:图像居下
    center:文字覆盖在图像上
bitmap/image:显示在Label上的图像
text: 显示在Label上的文本
label = Label(root,text = ‘Error‘,compound = ‘left‘,bitmap = ‘error‘)

from tkinter import *
root = Tk()
#演示compound的使用方法
#图像与文本在Label中的位置
#图像居下
Label(root,text = 'botton',compound = 'bottom',bitmap = 'error').pack()
#图像居上
Label(root,text = 'top',compound = 'top',bitmap = 'error').pack()
#图像居右
Label(root,text = 'right',compound = 'right',bitmap = 'error').pack()
#图像居左
Label(root,text = 'left',compound = 'left',bitmap = 'error').pack()
#文字覆盖在图像上
Label(root,text = 'center',compound = 'center',bitmap = 'error').pack()

#消息循环
root.mainloop()

6.文本的多行显示

       在Tk004中,使用width和heigth来指定控件的大小,如果指定的大小无法满足文本的要求是,会出现什么现象呢?如下代码:

       Label(root,bg = ‘welcome to jcodeer.cublog.cn‘,width = 10,height = 3).pack()

      运行程序,超出Label的那部分文本被截断了,常用的方法是:使用自动换行功能,及当文本长度大于控件的宽度时,文本应该换到下一行显示,Tk不会自动处理,但提供了属性:
wraplength:    指定多少单位后开始换行
justify:        指定多行的对齐方式
ahchor:        指定文本(text)或图像(bitmap/image)在Label中的显示位置
可用的值:
e
w
n
s
ne
se
sw
sn
center
布局如下图


                nw        n        ne
                w      center    e
                sw        s        se
from tkinter import *
root = Tk()
#左对齐,文本居中
Label(root,text = 'welcome to jcodeer.cublog.cn',bg = 'yellow',width = 40,height = 3,wraplength = 80,justify = 'left').pack()
#居中对齐,文本居左
Label(root,text = 'welcome to jcodeer.cublog.cn',bg = 'red',width = 40,height = 3,wraplength = 80,anchor = 'w').pack()
#居中对齐,文本居右
Label(root,text = 'welcome to jcodeer.cublog.cn',bg = 'blue',width = 40,height = 3,wraplength = 80,anchor = 'e').pack()

root.mainloop()













如果有什么疑问欢迎到我的微信公众号提问~
技术分享

Python GUI 02----Label

标签:python   tkinter   

原文地址:http://blog.csdn.net/a359680405/article/details/45062087

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!