python tkinter 使用

ython可以使用多种GUI库来创建窗口页面,例如Tkinter、PyQt、wxPython等。

本篇文章主要讲述如何使用tkinter。

1:导入

import tkinter as tk

这时如果运行的话会提示:

ModuleNotFoundError: No module named ‘tkinter’

执行如下命令下载即可:

sudo apt-get install tcl-dev tk-dev python3-tk

2:创建窗口

root = tk.Tk()

3:设置属性

root.title("工具类")
#设置窗口大小
root.geometry("500x500")
添加标签
label = tk.Label(root, text="标签内容")
label.pack()

4:运行窗口

root.mainloop()

python tkinter 使用-LMLPHP

5:其他属性

  1. 修改label属性

    label = tk.Label(root, text="热门",bg="red")
    label.pack()
    label = tk.Label(root, text="关注",bg="yellow")
    label.pack()
    label = tk.Label(root, text="商城",bg="green")
    label.pack()
    

    此时三个tabel 上下居中显示

    python tkinter 使用-LMLPHP

  2. 修改label的位置等属性

label1 = tk.Label(window, text="Label 1", bg="red")

label1.pack(side=tk.LEFT, fill=tk.Y)

label2 = tk.Label(window, text="Label 2", bg="green")

label2.pack(side=tk.TOP, fill=tk.X)

label3 = tk.Label(window, text="Label 3", bg="blue")

label3.pack(side=tk.RIGHT, fill=tk.Y)

python tkinter 使用-LMLPHP

  1. 表格布局

    使用row 和column来控制行列属性

    label1 = tk.Label(root, text="热门", bg="red")label1.grid(row=0, column=0)label2 = tk.Label(root, text="商城", bg="green")label2.grid(row=0, column=1)label3 = tk.Label(root, text="朋友", bg="blue")label3.grid(row=1, column=0)label4 = tk.Label(root, text="关注", bg="blue")label4.grid(row=1, column=1)
    

    python tkinter 使用-LMLPHP

  2. place 属性

    这就和android中的绝对布局一样,根据坐标来排列.

    label1 = tk.Label(root, text="朋友", bg="red")
    
    label1.place(x=10, y=10)
    
    label2 = tk.Label(root, text="关注", bg="green")
    
    label2.place(x=30, y=30, width=100, height=50)
    
    label3 = tk.Label(root, text="商城", bg="gray")
    
    label3.place(x=100, y=100)
    

    python tkinter 使用-LMLPHP

  3. button

    #!/usr/bin/python
    # coding=utf-8
    # 导入Tkinter库
    import tkinter as tk
    from tkinter import messagebox
    # 创建窗口
    root = tk.Tk()
    root.title("工具类")
    root.geometry("500x500")
    button = tk.Button(root, text="隐私协议",bg="green")
    button.pack()
    
    def btnClick(event):
        name = '隐私协议'
        text = '这里是隐私协议的内容.....'
        messagebox.showinfo(name,text)
    #点击事件绑定
    button.bind('<1>', btnClick)
    root.mainloop()
    

    python tkinter 使用-LMLPHP

11-21 17:57