python | tkinter_Label、Button
写在前面
初学python,最近想要做一个简谱转调器,转调逻辑已完成,但交互界面GUI不会做,遂至bilibili找小甲鱼的视频学习。
总体而言,设计思路跟html、css差不多,我也不懂太多。参考下其他人的文档,我也用博客做个记录吧。(第一次用博客)
Label、Button标签
import tkinter as tk
from tkinter import Frame
from PIL import Image
from PIL import ImageTk
def callback():
var.set('我不是!')
root = tk.Tk()#创建一个窗口
frame1 = Frame(root)
frame2 = Frame(root)
var = tk.StringVar()
var.set('你就是个傻逼!')
textLabel = tk.Label(frame1,
textvariable=var,
justify=tk.LEFT,
padx=10)
textLabel.pack(side=tk.LEFT)
#photo = Image.open('hello.gif')
#photo = ImageTk.PhotoImage(photo)
photo = tk.PhotoImage(file='timg.gif')
imgLabel = tk.Label(frame1,image=photo)
imgLabel.pack(side=tk.RIGHT)
textLabel.pack()
theButton = tk.Button(frame2,text='按钮!',command=callback)
theButton.pack()
frame1.pack(padx=10,pady=10)#设置大小
frame2.pack(padx=10,pady=10)
tk.mainloop()
这里用到了Photo组件,由于tkinter自身的photo组件并不能很好识别jpg格式,而我jpg转gif的图片,在导入的时候也报错了,因此,采用网友的方法,导入了PIL组件才解决问题。
tk.Tk()的目的是创建一个窗口,然后在这个窗口中搞事情;
tk.Frame是一个框架,在一个框架内可以添加相应的组件,用以组合想要的模块;
还有Label、Button(的实例对象)都需要pack()才能显示出来
按下按钮后,自动调用函数,这是command的功能
相关组件的属性
转到一篇文章描述
以后有空我再整理或者弄些例子出来吧!