zoukankan      html  css  js  c++  java
  • 学习python的第八天笔记

    43、064
    GUI的Tkinter
    import tkinter
    tkinter.TK()#设置主窗口即为root窗口
    .title('')#设置窗口名称
    .Label(主窗口,需要显示的东西)#可以用于显示文本、按钮、图标等等,最为常用的。
    .pack()#可以自动调节主键的位置和尺寸。
    .mainloop()#主次键调用,一般是界面的最后一行代码。
    .Button(主窗口名称,text=‘按钮名字’,bg=‘背景颜色’,fg=‘前景颜色’,comand=self.函数名)
    .pack(side = tkinter.LEFT,padx=10,pady=10)#设置按钮的位置

    44、065
    PhotoImage(file="图片名称")#用于实例化图片对象。
    justify=LEFT #将文字左对齐、(RIGHT)为右对齐。
    例1:
    from tkinter import *

    root = Tk()

    photo = PhotoImage(file ="背景图片名称")
    theLabel = Label(
    root,text="需要的文字",
    justify =LEFT,#设置文字左对齐
    image = photo,#设置图片
    compound = CENTER,#设置文字在图片正上显示
    font = ("黑体",30),#设置字体类型和大小
    fg="white"#设置字体颜色
    )
    theLabel.pack()#自动调整窗口位置
    mainloop()#自动调用主次

    例2:
    from tkinter import *
    def callback():#修改的内容
    var.set("需要修改的文字内容")

    root = Tk()
    #设置两个框架
    frame1 = Frame(root)
    frame2 = Frame(root)

    var = StringVar()#字符串的变量
    var.set("需要的文字內容")#设置变量的内容
    theLabel = Label(
    frame1,textvariable=var,#textvariable显示一个变量,而text只是显示一个字符串
    justify = LEFT#设置文件对齐
    )
    theLabel.pack(side = LEFT)

    photo = PhotoImage(file ="背景图片名称")
    imgLabel = Label(frame1,image = photo)
    imgLabel.pack(side = RIGHT)

    theButton = Button(frame2,text = "按鈕名字",command = callback)#command是在按鈕按下去后调用函数的方法。
    theButton.pack()
    frame1.pack(padx=10,pady=10)
    frame2.pack(padx=10,pady=10)

    mainloop()#自动调用主次

    44、065
    Checkbutton为打钩选择,用法需要设置IntVar(数字变量)
    例如:
    from tkinter import *
    root =Tk()
    v = IntVar()
    c = Checkbutton(root,text="选项名字",variable=v)
    c.pack(anchor=w)#设置按钮的方向

    mainloop()
    设置单点选项只要在 Checkbutton(root,text="选项名字",variable=v)多加上一个value的值才行,而且value的值不能够相同。
    例如:
    from tkinter import *
    root =Tk()
    v = IntVar()
    Checkbutton(root,text="1",variable=v,value = 1).pack(anchor=w)
    Checkbutton(root,text="2",variable=v,value = 2).pack(anchor=w)
    Checkbutton(root,text="3",variable=v,value = 3).pack(anchor=w)
    mainloop()

    LabelFrame#可以将按钮分类
    例如:
    from tkinter import *
    root =Tk()
    group = LabelFrame(root,text="你喜欢的女明星是?",padx = 5,pady = 5)
    group.pack(padx = 10,pady = 10)

    GIRL = [("迪丽热巴",1),("杨幂",2),("冯提莫",3)]
    v = IntVar()
    v.set(1)#设置默认选项为1

    for girl,num in GIRL:#将列表中的分别读取出来并设定成选项。
    b = Radiobutton(group,text = girl,variable = v,value = num)
    b.pack(anchor=W)
    mainloop()

    45、066
    输入框(Entry)
    .delete(0,END)#用于删除输入框中的内容。
    .insert(0,"默认文本。。。")#用于插入文本。
    例如:
    from tkinter import *

    root =Tk()

    Label(root,text = "作品:").grid(row=0,column=0)#设置Label标注的位置,用grid将标注放入第零行,第零列中
    Label(root,text = "作者:").grid(row=1,column=0)#设置Label标注的位置,用grid将标注放入第一行,第零列中
    #添加两个文本框
    e1 = Entry(root)
    e2 = Entry(root)
    e1.grid(row=0,column=1,padx=10,pady=0)
    e2.grid(row=1,column=1,padx=10,pady=5)

    def show():
    print("作品:《%s》"% e1.get())
    print("作者:%s"% e2.get())
    #添加两个按钮
    Button(root,text="获取信息",width=10,command = show).grid(row = 3,column=0,sticky=W,padx = 10,pady = 5)#设置按钮位置,用sticky设置按钮所靠近的位置,EWSN(东西南北)
    Button(root,text="退出",width=10,command = root.quit).grid(row = 3,column=1,sticky=E,padx = 10,pady = 5)

    mainloop()

    想要将密码显示为*号,则只要文本框里添加个show=“需要显示的东西”
    例如:
    上面代码添加个变量
    v1=StringVar()
    v2=StringVar()
    e1 = Entry(root,textvariable = v1)
    e2 = Entry(root,textvaeiable = v2,show="*")#将输入的内容都用*号表示。
    e1.grid(row=0,column=1,padx=10,pady=0)
    e2.grid(row=1,column=1,padx=10,pady=5)

    #验证方法
    validate="focusout"#当Entry主键失去焦点时验证这个文本框,(focus)当主键获得或失去焦点时验证、(focusin)当主键获得焦点时验证、(key)当输入框被编辑时验证
    (all)当出现任何一种情况时验证、(none)关闭验证功能

    validatecommand=函数名#用于调用验证函数

    stare=“readonly”#只能拷贝不能修改

    45,066
    Listbox()#用于显示多个选项的时候。
    在Listbox()组件中,selectmode可以改变Listbox的模式,(SINGLE)为单选,(BROWSE)为单选,但拖动鼠标就可以改变选项,(MULTIOLE)多选,(EXTENDED)为多选,但需要同时
    按住Shift键或者是Ctrl键才可以拖动,默认是BROWSE。
    height可以修改Listbox的高度

    Scrollbar()#滚动条
    例如:
    from tkinter import *

    root = Tk()

    s = Scrollbar(root)
    s.pack(side = RIGHT,fill = Y)#填充在主界面y轴上

    lb = Listbox(root,yscrollcommand=s.set)#当在Listbox内用鼠标滚动时会调用滚动调一起滚动

    for i in range(1000):
    lb.insert(END,i)

    lb.pack(side=LEFT,fill=BOTH)
    s.config(command = lb.yview)#滚动条通过yview来调整Listbox中显示的内容,由python内部自动调整。

    mainloop()

    #Scale组件
    Scale(from_=0,to = 42)#用于设置范围
    orient#用于设置Scale的方向是水平还是垂直的
    tickinterval#用于设置刻度
    resolution #用于设置精度
    length#用于设置像素的长度

  • 相关阅读:
    java 模拟http请求,通过流(stream)的方式,发送json数据和文件
    $listeners 在vue中的使用 --初学
    vue中关于checkbox数据绑定v-model指令说明
    Vue--理解非prop特性
    Vue里标签嵌套限制问题解决------解析DOM模板时注意事项:
    vue click.stop
    @click.prevent.self和@click.self.prevent区别
    assign()-JS
    摘抄大神对VUE 中slot-scope的深度理解
    oracle11G备份空表解决办法
  • 原文地址:https://www.cnblogs.com/dcpb/p/11643125.html
Copyright © 2011-2022 走看看