python GUI ——tkinter(1)
1.引入库
代码如下(示例):
from tkinter import *
from tkinter import messagebox
代码1
代码如下(示例):
import tkinter
root = tkinter.Tk()
li = ['C','java','C++','html','SQL','python']
movie = ['CSS','jQuery','Bootstrap']
listb = tkinter.Listbox(root)
listb2 = tkinter.Listbox(root)
for item in li:
listb.insert(0,item)
for item in movie:
listb2.insert(0,item)
listb.pack()
listb2.pack()
root.mainloop()
生成一个图表1
代码2
from tkinter import *
from tkinter import messagebox
top = Tk()
def helloCallBack():
messagebox.askretrycancel( "Hello Python", "Hello Runoob")
def hello():
messagebox.showinfo("hi python","hello!")
A = Button(top, text ="点我", command = helloCallBack)
B = Button(top, text ="点他", command = hello)
A.pack()
B.pack()
top.mainloop()
生成一个图表2
代码3
from tkinter import *
from tkinter import messagebox
window = Tk()
window.title("my window")
var=StringVar()
label=Label(window,textvariable=var,bg='green',font=('Arial',12),width=15,height=2)
label.pack()
times = 0
def click():
global times
times += 1
if times % 2 == 0:
var.set('click even')
else:
var.set('click odd')
bt = Button(window,text='click',width=15,height=2,command=click)
bt.pack()
window.mainloop()
生成一个图表3
代码4
from tkinter import *
root=Tk()
v=StringVar()
lis=['python','C++','C','Java']
def callCB():
for m in lis:
if v.get()==m:
root1=Tk()
Label(root1,text='你的选择是'+v.get()+'!',fg='red',width=20,height=6).pack()
Button(root1,text='确定',width=3,height=1,command=root1.destroy).pack(side='bottom')
Label(root,text='你喜欢的编程语言').pack(anchor=W)
checkbutton=Checkbutton(root,text=lis[0],onvalue=lis[0],command=callCB,variable=v)
checkbutton.pack(anchor=W)
checkbutton=Checkbutton(root,text=lis[1],onvalue=lis[1],command=callCB,variable=v)
checkbutton.pack(anchor=W)
checkbutton=Checkbutton(root,text=lis[2],onvalue=lis[2],command=callCB,variable=v)
checkbutton.pack(anchor=W)
checkbutton=Checkbutton(root,text=lis[3],onvalue=lis[3],command=callCB,variable=v)
checkbutton.pack(anchor=W)
root.mainloop()
生成一个图表4
代码5
from tkinter import *
root=Tk()
v=IntVar()
language=[('python',0),('C++',1),('C',2),('Java',3)]
def callCB():
for m in range(4):
if v.get()==m:
root1=Tk()
Label(root1,text='你的选择是'+language[m][0]+'!',fg='red',width=20,height=6).pack()
Button(root1,text='确定',width=3,height=1,command=root1.destroy).pack(side='bottom')
Label(root,text='你喜欢的编程语言').pack(anchor=W)
for lan,num in language:
Radiobutton(root,text=lan,value=num,command=callCB,variable=v).pack(anchor=W)
root.mainloop()
生成一个图表5
代码6
# -*- coding: UTF-8 -*-
# -*- coding: UTF-8 -*-
import easygui as g
import sys
class easyDemo:
def guifun(self):
loginStatus = False
g.msgbox(msg='欢迎使用机器人,请先登录',ok_button='确定',title='机器人')
while not loginStatus:
mulRes=g.multpasswordbox('请输入账号:','商品盘点登录框',('账号','密码'))
if mulRes is None:
sys.exit(0)
if mulRes[0]==''and mulRes[1]=='':
g.msgbox(msg='请输入账号密码',title='提示',ok_button='确定')
continue
account=mulRes[0]
password=mulRes[1]
if account=='admin'and password=='admin':
g.msgbox('您登陆的账号:'+account+'已登录成功',ok_button='确定',title='登录结果')
loginStatus=True
else:
g.msgbox('您登陆的账号:'+account+'登录失败',ok_button='重新登录',title='登录失败')
msg='欢迎使用机器人,选择你要做的事:'
title='机器人'
choices=['打印二维码','查询我的商品','查看详情','帮助']
choice=g.choicebox(msg,title,choices)
if choice is None:
sys.exit(0)
#g.msgbox('你的选择是:'+str(choice),title='机器人',ok_button='下一步')
viewType = ['查看全部', '未打印商品', '单条商品']
viewChoice = g.choicebox(msg='请选择你要打印的方式:',title='打印方式',choices=viewType)
if viewChoice is None:
sys.exit(0)
if viewChoice =='单条商品':
goodCode = g.enterbox('请输入商品编号:',title='机器人')
if goodCode:
g.msgbox('正在搜索:'+str(goodCode),'结果', ok_button="下一步")
mutiSelect = g.choicebox(msg='搜索结果', choices=[goodCode],title='npc机器人')
else:
vedio_list = [1,2,3,4343,2]
muliSelect = g.multchoicebox(msg='请勾选您要打印的商品条目 -- 767条' ,choices=vedio_list,title="npc机器人")
if muliSelect is None:
sys.exit(0)
msgRes = g.msgbox('请选择文件夹保存路径', ok_button="下一步",title="npc机器人")
if msgRes is None:
g.msgbox('未选择文件保存路径',ok_button='完成',title='机器人')
sys.exit(0)
dir_path = g.diropenbox()
print(dir_path)
if __name__ == "__main__":
S=easyDemo()
S.guifun()
``
## 生成图表6
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213736297.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213800395.png#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213818129.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213838318.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213849881.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120213859792.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120214646739.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120214714281.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120214735299.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3FxXzM2NzA4ODYx,size_16,color_FFFFFF,t_70#pic_center)
![在这里插入图片描述](https://img-blog.csdnimg.cn/20201120214759305.png#pic_center)