第十节 tkinter模块
一、tkinter库
库的名称:tkinter
作用:python中用于创建图形界面(GUI)的库
导库方法:
import tkinter
二、功能总结
1. Tk()
作用:建立空白窗口
root窗口也叫主窗口、根窗口,是GUI编程的基础。
格式:root = tkinter.Tk()
代码:
import tkinter
root = tkinter.Tk()
2. root.mainloop()
作用:一直显示窗口
import tkinter
root = tkinter.Tk()
root.mainloop()
3. geometry()
作用:设置窗口大小
格式:root. geometry("宽 x 高")
设置参数需要使用引号,宽与高中间是小写字母x,表示单位是像素。
root.geometry("600x400")
4. configure()
作用:设置窗口背景颜色
格式:root.configure(background="black")
设置背景颜色需要使用引号
root.configure(background="black")
5. Listbox()
作用:创建列表框控件
格式: listb = tkinter.Listbox(root)
listb.pack()
listb是控件名,root是主窗口名,listb.pack()表示显示控件。
listb = tkinter.Listbox(root)
listb.pack()
6. insert()
作用:列表框中添加文字
格式:listb.insert(行序号,插入内容)
行序号是数字,代表插入的位置
插入的内容是字符串,也可以是代表字符串的变量
listb.insert(0,"hello,world")
7. 列表框设置样式
作用:获取内容
格式:listb = tkinter.Listbox(root, width=60, height=20, bg="black", fg="green")
width表示宽度,height表示高度,bg表示背景颜色,fg表示字体颜色
listb = tkinter.Listbox(root, width=60, height=20, bg="black", fg="green")
8. Button()
作用:创建按钮并显示
格式:
button1 = tkinter.Button(root, text="黑客更新", command=renew)
button1.pack()
root表示主窗口,text表示按钮上的文字,command表示点击按钮执行的函数
button1 = tkinter.Button(root, text="黑客更新", command=renew)
button1.pack()
9. 显示
#新闻三完整演示
import requests, bs4
from xes.tool import *
xopen() # 用于打开文件夹
def getTool(url):
response = requests.get(url)
response.encoding = "UTF-8"
if response.status_code == 200:
return response.text
def parseTool(data):
soup = bs4.BeautifulSoup(data, "lxml")
data1 = soup.find_all(name="div", class_="article")
for n in data1:
data2 =n.find_all(name="a")
print("题目:"+data2[0].text+"\n")
print("摘要:"+data2[1].text+"\n")
print("主题:"+data2[2].text+"\n")
with open("新闻.txt", "a",encoding = "utf-8") as file:
file.write("题目:"+ data2[0].text+"\n")
file.write("摘要:"+ data2[1].text+"\n")
file.write("主题:"+ data2[2].text+"\n")
html = getTool("https://icourse.xesimg.com/programme/static/py/pcdata/lw-web/新闻网站/index.html")
parseTool(html)
import tkinter
newsNum = 0
newsList= []
#___________________________________________________
# 打开并逐行读取新闻文件
with open("新闻.txt", "r", encoding="utf-8") as file:
for line in file:
newsList.append(line)
#____________________________________________________
#点击按钮更新新闻
def renew():
global listb, newsList, newsNum
listb.insert(0, newsList[newsNum])
newsNum = newsNum+1
root = tkinter.Tk()
root.geometry("600x400")
root.configure(background="black")
#创建列表框
listb = tkinter.Listbox(root, width=60, height=20, bg="black", fg="green")
listb.pack()
# 设置按钮
button1 = tkinter.Button(root, text="黑客更新", command=renew)
button1.pack()
root.mainloop()
10. 按钮控件名.configure()
作用:重新定义按钮内容
格式:按钮控件名.configure(text="新的显示文字")
button0. configure(text=nameList[imgNum])
11. 创建图片按钮
作用:创建图片按钮
格式:button = tkinter.Button(root,image=photo,command=函数)
button.pack()
image参数表示添加图片对象,command参数可省略
12. 换图函数
导库:from carton import *
换下一张图片:
nextPic(button3,nameList[imgNum])
换上一张图片:
lastPic(button3,nameList[imgNum])
button3代表图片对应的按钮名称,nameList列表存储的是动漫名称。
13. grid布局方式
作用:设置按钮的位置
格式:button.grid(row=行号,column=列号)
行号和列号都是从0开始
一、PIL库
库的名称:PIL
作用:python中进行图像处理常用的库
image模块:包含打开图片(open),保存图片(save),显示图片(show)等功能
imageTk模块:用来将图片转换成与tkinter兼容的图像
导库方法:
from PIL import Image,ImageTk
二、功能总结
1. open()
作用:打开图片
root窗口也叫主窗口、根窗口,是GUI编程的基础。
格式:image = Image.open("图像名称.图片格式")
2. ImageTk.PhotoImage()
作用:将图片变为tkinter能识别的图片
格式:photo = ImageTk.PhotoImage(image)
from PIL import Image,ImageTk
image = Image.open("图像名称.图片格式")
photo = ImageTk.PhotoImage(image)