python GUI——tkinter

这篇博客介绍了如何使用Python的tkinter库来构建图形用户界面(GUI),详细展示了从引入库到生成多个图表的完整过程,包括六个代码段分别用于生成不同的图表。
摘要由CSDN通过智能技术生成

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)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值