#初始gui图形框架
from tkinter import * #这样以后就不需要用tk.*来调用了,直接可以用
import sys
root = Tk() #创建一个框架
mainloop()
import tkinter as tk
import tkinter.messagebox
class App:
def __init__(self,master): #master:父窗口
frame = tk.Frame(master) #创建一个框架
frame.pack(side=tk.BOTTOM,padx=10,pady=20) #确定位置
self.hi_there = tk.Button(frame,command=self.__say_hi,text = '王瑶是不是傻逼?',fg = 'black',bg='red') #在frame里创建打招呼的蓝色按钮
self.hi_there.pack()
def __say_hi(self):
tk.messagebox.showinfo(title='王瑶?',message='没错,是的!') #弹出窗口
root = tk.Tk() #创建一个主窗口
app = App(root) #调用App类形成tkinter窗口
root.mainloop()
#创建一个带图片的gui
file_url = sys.path[0] + '/miaomiao0.gif' #注意,PhotoImage方法只能抓gif文件
photo = PhotoImage(file=file_url) #抓取一个photo
imgLabel = Label(root,image=photo) #设置一个photo栏目
imgLabel.pack(side=RIGHT)
mainloop()
file_url = sys.path[0] + '/miaomiao0.gif' #注意,PhotoImage方法只能抓gif文件
photo = PhotoImage(file=file_url) #抓取一个photo
textlabel = Label(root,text ='你就是个\n崽种',
justify=LEFT,padx=20,pady=20,image=photo,
compound=CENTER,fg='white') #justify文字对齐
textlabel.pack(side=LEFT)
#通过按钮改变文本内容
from tkinter import * #这样以后就不需要用tk.*来调用了,直接可以用
import sys
def button_call():
var.set('不,你就是') #点击按钮后要执行的东西
#大框架搭好
root = Tk() #创建一个框架
root.title('呜喵喵')
frame1 = Frame(root) #在root里装两个框架
frame2 = Frame(root)
var = StringVar() #设置一个可变文本函数var
var.set('你就是个崽种')
#文本的显示(在frame1框架中)
textlabel = Label(frame1,textvariable=var, #这里要用textvariable把他变成可变文本
justify=LEFT,padx=20,pady=20,
)
textlabel.pack(side=LEFT)
#图片的显示(在frame1框架中)
file_url = sys.path[0] + '/miaomiao0.gif' #注意,PhotoImage方法只能抓gif文件
photo = PhotoImage(file=file_url) #抓取一个photo
img_label = Label(frame1,image=photo)
img_label.pack(side=RIGHT)
frame1.pack(side=TOP)
#按钮设置(在frame2框架中)
button1 = Button(frame2,text='我不是!',command=button_call)
button1.pack() #注意,这个.pack()操作一定不能少,每一个组件设置之后都要用
frame2.pack(side=BOTTOM)
mainloop()
复选框 checkbutton
import tkinter as tk
root = tk.Tk()
GIRLS = ['选项A','选项BB','选项CCC','选项DDDD']
v = [] #方便显示,用列表来存放IntVar()变量
for girl in GIRLS:
v.append(tk.IntVar()) #把intvar模块添加进v列表中,用于存放按钮状态
ckbt = tk.Checkbutton(root,text=girl,variable=v[-1])
ckbt.pack(anchor='w') #w代表west,向西对齐
tk.mainloop()
import tkinter as tk
root = tk.Tk()
def get_message():
print("有一个帅哥他叫%s" %e1.get()) #.get()获取输入框的信息
print("他今年%s岁了" %e2.get())
e1.delete(0,tk.END) #从0删到最后一个
e2.delete(0,tk.END)
def then_quit():
pass
frame1 = tk.Frame(root)
l1 = tk.Label(frame1,text="你的名字")
l1.pack(side=tk.LEFT)
e1 = tk.Entry(frame1) #创建一个输入框
e1.pack(side=tk.RIGHT,padx=20,pady=20)
frame1.pack()
frame2 = tk.Frame(root)
l2 = tk.Label(frame2,text="你的性别")
l2.pack(side=tk.LEFT)
e2 = tk.Entry(frame2)
e2.pack(side=tk.RIGHT,padx=20,pady=20)
frame2.pack()
frame3 = tk.Frame(root)
b3 = tk.Button(frame3,text="GOT IT",command=get_message)
b3.pack(side=tk.LEFT,padx=20)
b4 = tk.Button(frame3,text="ThenFuckOff",command=root.quit) #root.quit直接退出
b4.pack(side=tk.RIGHT,padx=20)
frame3.pack()
# e1.insert(0,'zzy好帅') #在0插入 zzy好帅
tk.mainloop()
self.e1 = tk.Entry(root,textvariable=self.v1,validate='focusout',validatecommand=varify)
#validate=表示验证情况
#validatecommand=达成情况时启动代码
self.testCMD = root.register(varify1) #root.register把varify1功能扩展了,可以在后面添加%P、%v、%w等等内容,具体看小甲鱼
self.e1 = tk.Entry(root,textvariable=self.v1,validate='focusout',\
validatecommand=(testCMD,'%P',),invalidatecommand=varify2) #validate=表示验证情况