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()
5:其他属性
-
修改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 上下居中显示
-
修改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)
-
表格布局
使用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)
-
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)
-
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()