标签:highlight 影片 root pytho 更改 程序 人生 循环 ruby
(一)
之前使用easy_gui写过一下界面,感觉就是太过于简单了,因此这次是学习tkinter来做的。
import tkinter as tk
#顶层窗口,根窗口
app = tk.Tk()
app.title("flash demo")
theLabel = tk.Label(app,text="我的第二个窗口程序!")#建立一个组件,用于显示文本和图片
theLabel.pack()#用于自动调节组件尺寸和位置
app.mainloop()#窗口的主事件循环
这是最简单的一个界面。
import tkinter as tk
class APP:
def __init__(self,master):
frame = tk.Frame(master)#frame是框架,用于复杂布局
frame.pack(side=tk.LEFT,padx=10,pady=10)#自动调整位置,默认是top,同理tk.right是位于右边
#padx是在x轴的间距,pady是在y轴的间距
self.hi_there = tk.Button(frame,text="打招呼",fg="blue",bg="pink",command=self.say_hi)
self.hi_there.pack()
def say_hi(self):
print("hi")
root = tk.Tk()
app = APP(root)#将root底层窗口设置为参数
root.mainloop()

(二)
如何来输出图像和文字呢?
from tkinter import *
root = Tk()
photo = PhotoImage(file="黑板.png")
theLabel = Label(root,
text="\r 人生苦短\r我用python",
justify=LEFT,#对齐方式
image=photo,#储存图片
compound=CENTER,#混合模式,图片在下,文字在图片正上方
font=("行楷",50),
fg="white",
)
theLabel.pack()
mainloop()

上面都是一些简单的使用,下面是来设置一个按钮
from tkinter import *
def callback():
var.set("吹吧你,我才不信呢")
root = Tk()
frame1=Frame(root)
frame2=Frame(root)
var=StringVar()
var.set("您所下载的影片有未成年人限制内容,\r请满18岁再点击!")
textLabel = Label(frame1,
textvariable=var,
#textvariable显示的是一个变量
justify=LEFT,
padx=10,
pady=10)
textLabel.pack(side=LEFT)#justify意为对齐方式
photo = PhotoImage(file="无标题.png")
imgLabel = Label(root,image=photo)
imgLabel.pack(side=RIGHT,padx=10,pady=10)
theButton = Button(frame2,text="我已满18周岁",command=callback)
theButton.pack()
frame1.pack(padx=10,pady=10)
frame2.pack(padx=10,pady=10)
mainloop()
上述的var设置为字符串变量,这样我们可以通过改变该变量来更改界面的文字输出,以后所有的变量几乎都是Var,比如在IntVar()中等等。


(三)
下面介绍选项的使用
from tkinter import * root = Tk() v = IntVar()#设置Int变量 c = Checkbutton(root,text="click",variable=v)#一旦按键被按的话,将会改变cariable也就是改变v的值 c.pack() l = Label(root,textvariable=v) l.pack() mainloop()

from tkinter import *
root = Tk()
GIRLS = ["西施","貂蝉","王昭君","杨玉环"]
v = []
for girl in GIRLS:
v.append(IntVar())
b=Checkbutton(root,text=girl,variable=v[-1])#v[-1]是选中最后一个数组中的数,也就是我们上一个语句插入的数
b.pack(anchor=W)#anchor分为八个方向,因为左对齐,所以西W
mainloop()

from tkinter import *
root=Tk()
group = LabelFrame(root,text="最好的脚本语言是?",padx=5,pady=5)#通过LabelFrame构建一个容器部件,装载下述选项
group.pack(padx=10,pady=10)
LANGSS = [
("Python",1),
("Perl",2),
("Ruby",3),
("Lua",4)]
v=IntVar()#只设置一个v,保证单选
for lang,num in LANGSS:
b = Radiobutton(group,text=lang,variable=v,value=num)#,indicatoron=False) #indicatoron就是设置小圈圈
#value的意义是来和variable相对比,如果一样那么显示选中,否则不中,因此v只能代表一个选项
b.pack(anchor=W)
mainloop()

标签:highlight 影片 root pytho 更改 程序 人生 循环 ruby
原文地址:http://www.cnblogs.com/Floating-leaf/p/7350231.html