• Python_tkinter(2)_常用控件


    1.Label--标签(文字/位图)控件

    from tkinter import *
    root = Tk()
    root.geometry('200x200')
    # Label控件 字体、边框、背景
    label1 = Label(root, text="请输入账号:", font=('宋体', '10'), relief='groove', borderwidth='2', fg='red')
    label1.grid(row=0, column=0, sticky=E)
    # 边框参数:样式relief(可选值为:flat(默认),sunken,raised,groove,ridge),borderwidth:边框宽度
    
    # label中插入图片
    photo1 = PhotoImage(file='F:/小图片/invalid.gif')
    label2 = Label(root, image=photo1)
    label2.grid(row=0, column=1)
    
    # label同时使用文字和图片-compound
    photo2 = PhotoImage(file='F:/小图片/11.png')
    label3 = Label(root, text='请输入账号:', image=photo2, compound='center')
    label3.grid(row=1, column=0, columnspan=2, pady='10')
    
    #label文字对齐-justify
    label4 = Label(root, text='你走了
    轻轻的
    不留下一片云彩', justify='left')
    label4.grid(row=2, column=0, columnspan=2, pady='10')
    root.mainloop()

    运行效果

     2.Entry--输入框

    from tkinter import *
    root = Tk()
    # Entry-单行文本框控件
    entry1 = Entry(root, width='30', bd='1', font=('宋体', '10'))
    entry1.grid(row=0, padx='20', pady='10')
    
    entry2 = Entry(root, width='30', bd='1', font=('宋体', '10'))
    entry2.insert('insert', '请输入')  # Entry默认值
    entry2.grid(row=1, padx='20', pady='10')
    
    root.mainloop()

    运行效果

     常用方法:

    entry2.delete(0, tk.END)  # 删除Entry组件的内容
    entry2.get()  # 获取Entry组件的内容
    entry2.insert(0, 'hello')  # 插入内容

     

    3.Button--按钮控件

    from tkinter import *
    root = Tk()
    
    def test():
        return
    
    btn = Button(root, text='按 钮', fg='red', bg='yellow', command=test(), width='10')
    btn.grid(sticky=E, padx='20', pady='20')
    root.mainloop()

     运行效果

    4.Text--文本框

    from tkinter import *
    root = Tk()
    
    text1 = Text(root, width='45', height='10')
    text1.grid(row=0, padx='20', pady='20')
    text1.insert(END, "hello
    ")  # END表示在最后插入;INSERT表示在光标处插入
    text1.update()
    text1.get(1.0, END) # 获取Text内容
    text1.delete(1.0, END)  # 清除Text所有内容
    '''
    1.行列表示法1:'1.0' 表示第一行第一列,注意行号以1开始,列号以0开始
    2.行列表示法2:"%d.%d" %(line,column)
    3.tk.END/tk.end表示Text文本缓冲区最后一个字符的下一个位置。
    4.line.end 表示某一行的最后,如1.end表示第一行的最后字符的位置***
    '''
    root.mainloop()

     运行效果

    5. Checkbutton---多选框

    from tkinter import *
    root = Tk()
    
    checkbutton1 = Checkbutton(root, text='选择一')
    checkbutton1.grid(padx='10', pady='10')
    checkbutton2 = Checkbutton(root, text='选择二')
    checkbutton2.grid(padx='10', pady='10')
    
    root.mainloop()

    运行效果 

    6. Radiobutton---单选框

    import tkinter
    from tkinter import *
    root = Tk()
    radiobtn = Radiobutton(root,text='单选项')
    radiobtn.pack()
    root.mainloop()

     运行效果

    7.Listbox---列表框

    import tkinter
    from tkinter import *
    
    root = Tk()
    listbox1 = Listbox(root, height='8')
    name_list = ['Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid']
    
    for i in name_list:
        listbox1.insert(END,i)
        
    listbox1.grid(row=0,column=0)
    
    root.mainloop()

     运行效果

    8.Scrollbar---滚动条

    import tkinter
    from tkinter import *
    
    root = Tk()
    scrollbar1 = Scrollbar(root)
    scrollbar1.grid(row=0, column=1, ipady='60')
    listbox1 = Listbox(root, height='8', yscrollcommand = scrollbar1.set)
    name_list = ['Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid''Jack','Michael',
                 'Tom','Ingrid','Jack','Michael','Tom','Ingrid', 'Jack','Michael','Tom','Ingrid','Jack','Michael','Tom','Ingrid']
    
    for i in name_list:
        listbox1.insert(END,i)
        
    listbox1.grid(row=0,column=0)
    scrollbar1.config(command = listbox1.yview)
    root.mainloop()

     运行效果

  • 相关阅读:
    Java基础知识整理
    HashMap源码解读(JDK1.7)
    书籍列表
    mysql4
    mysql3
    mysql2
    mysql1
    数据结构4
    数据结构3
    数据结构2
  • 原文地址:https://www.cnblogs.com/happy-xiaoxiao/p/10494508.html
Copyright © 2020-2023  润新知