Python 中基本控件的用法

Python 中基本控件的用法

 

一  标签Label

from tkinter import *
root = Tk()
root.minsize(300, 200)
text = ” I want to study PYTHON”
label = Label(root, text = text, fg = “black”, bg=”red”)
label.pack(side = LEFT)
root.mainloop()

tkinter 是Python内置的GUI工具的模块,各种控件都在其中定义。编制窗口交互的应用程序都需要导入。
root = Tk()生成一个底层窗口。然后定义Label类的对象,连个必须的参数:父空间和文字内容。定义了空间以后必须用pack()函数保证才能显示。最后一行root.mainloop()是必须的,它令根空间进入主循环,开始监听事件和执行相应的人机交互命令。

 

二 按钮Button

from tkinter import *
root = Tk()
root.title(“Button demo”)
root.minsize (300, 200)
Button(root, text = “禁用” ,state = DISABLED).pack(side=LEFT)
Button(root, text = “取消” ).pack(side=LEFT)
Button(root, text = “确定” ).pack(side=LEFT)
Button(root, text = “退出” , command= root.quit).pack(side=RIGHT)
root.mainloop()
要使按钮不能用,可见参数state = DISABLED,不见当然默认是可用的。

DISABLED是tkinter 值预定义的常量。state 和前面的text= 都是控件的购置函数中

的变量名, 不看任意更改,root 不是。

 

三 框架Frame

from tkinter import *

root = Tk()

for relief in [RAISED, SUNKEN, FLAT, RIDGE, GROOVE, SOLID]:
   
  f = Frame(root, borderwidth=2, relief=relief)
  Label(f, text=relief, width=10).pack(side=LEFT)
  f.pack(side=LEFT, padx=5, pady=5) 

root.mainloop()


生成了6个框架,边框使用不同的样式,RAISED等是演示的代号。其中参数就是

指定边框样式的。每个框架放置一个标签,其文字就是相应的样式代号。

"Python <wbr中基本控件的用法” title=”Python 中基本控件的用法”> 

 

四 输入框Entry

from tkinter import *
root = Tk()
root.title(“Entry demo”)
root.minsize (400, 200)
f1 = Frame(root)
f2 = Frame(root)
e1 = StringVar()
e1.set(“输入框默认内容”)
e2 = StringVar()
e2.set(“不可修改的内容”)
Label(f1, text=”标准输入框”).pack(side=LEFT, padx=5, pady=5)
Entry (f1, width = 20, textvariable = e1).pack(side=LEFT)
Label(f2, text=”禁用输入框”).pack(side=LEFT, padx=5, pady=5)
Entry(f2, width = 20, textvariable = e2, state=DISABLED).pack(side=LEFT)
f1.pack()
f2.pack()
root.mainloop()

输入框即单行文本框。Entry 有参数textvariable 是文本框中显示的字符串。
使用StringVar()函数定义一个字符串变量,类型确定但没有赋值。

 

五 单选按钮Radiobutton

from tkinter import *

root = Tk()

root.title(“Main wondow”)

foo = IntVar()  # 定义变量

for text, value in [(‘red’, 1), (‘green’, 2), (‘black’, 3), (‘blue’, 4), (‘yellow’, 5)]:

    r = Radiobutton(root, text=text, value=value, variable=foo)
  
    r.pack(anchor=W) # 锚定在西边
foo.set(2) # 默认索引2
root.mainloop()


用foo = IntVar() 来定义一个整型变量的序列,在构造Radiobutton是为系列参数提

供可用的值。其中text, value分别是按钮上显示的文字和调用时的索引。参数

variable=foo指明了变量的来源。

 

六 复选框Checkbutton

from tkinter import *
root = Tk()
root.title(“RadioButton”)
root.minsize (400, 200)
list = [(“red”, 1),(“blue”,2 ),(“black”,3 ),(“green”,4 ),(“yellow”, 5 )]
for text, value in list :
    foo = IntVar()
    c = Checkbutton(root, text= text, variable = foo)
    c.pack(anchor=W)
foo.set(2)  #默认第2个值
root.mainloop()

 

七 消息框

from tkinter import *
root = Tk()
root.title(“中纪委消息”)
root.minsize (400, 200)
myword = “纵观盖如垠的履历,黑龙江、哈尔滨、大庆,这些关键词在政知圈的脑

中相继转了一遍,盖如垠的面孔渐渐清晰。他是被举报的哈尔滨市长,亦是市民

口中亲切的“老盖”;他是官员眼中疯了的上级,亦是媒体笔下有草根气的“另类”。

这名现年62岁的东北人,仕途未离东北,最后在黑龙江人大常委会任上倒了下去

。\n\n十一天前还强调“要守得住底线”\n盖如垠的落马并非没有先兆。”
m = Message (root, text = myword, bg = “ivory”, fg =”green”,  relief = RAISED)
m.pack (padx = 10, pady = 10)
root.mainloop()

与Label控件的格式差不多,多了一个relief 与框架空间一样。padx = 10, pady = 10

表示行距像素。

 

八 列表框

from tkinter import *

root = Tk()

root.title(“Listbox demo”)

lb = Listbox(root, width=15)

lb.pack()

for item in [‘apple’, ‘orange’, ‘peach’, ‘banana’, ‘melon’]:

    lb.insert(END, item)

 root.mainloop()


九 滚动条Scrollbar

from tkinter import *

root = Tk()

root.title(“Scrollbar Demo”)

lb = Listbox(root, height=6, width=15)
scroll = Scrollbar(root, command=lb.yview)
lb.configure(yscrollcommand=scroll.set)

lb.pack(side=LEFT)

scroll.pack(side=RIGHT, fill=Y)

for item in range(20):

    lb.insert(END, item)

root.mainloop()


先定义一个列表框lb,为他安装滚动条。在Scrollbar的构造中参数command=lb.yview,表示滚动条对列表框进行纵向的滚动。
lb.configure(yscrollcommand=scroll.set)语句为lb配置,告诉系统列表框安装了纵向的滚动条(croll.set)。列表框使用插入方法添加列表项。

 

———完 2017-12-31———

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值