您的位置:新葡亰496net > 奥门新萄京娱乐场 > 新葡亰496nettkinter制作一个简单的中英文翻译exe文

新葡亰496nettkinter制作一个简单的中英文翻译exe文

发布时间:2019-07-28 18:45编辑:奥门新萄京娱乐场浏览(99)

     

    `####那是和睦的一个小主张,不过最终仍旧通过2天的瞎鼓捣实验成果了。即便分界面很难看,不过自个儿很开心它,因为有Dos黑窗口,少去了设置步骤,越来越多的是少去了广告,基于有道翻译里面包车型客车api接口,所以我就是翻译的取缔确啦

    75 Tkinter GUI初体验

    图形用户分界面( G raphical U ser I nterface,GUI)编制程序

    转载自  


    首先这里分三大步举行肢解:

    import tkinter as tk

    Python2.0级以下的版本叫做Tkinter,Python3.0化名字为tkinter

    开卷目录

    相关内容:

    tkinter的使用

    1.模块的导入

    2.使用

    3.控件介绍

    • Tk
    • Button
    • Label
    • Frame
    • Toplevel
    • Menu
    • Menubutton
    • Canvas
    • Entry
    • Message
    • Text
    • Listbox
    • Checkbutton
    • Radiobutton
    • Scale
    • Scrollbar

     

    先发时间:2018-03-04 16:39


    Python的GUI各有各特点。

    出于只是微小涉及GUI开垦,所以就以轻量级的tkinter来学学。


    一: 有道词典的API接口爬取:
    二:tkinter 种种控件的使用:
    三:PyInstaller 打包成exe文件,直接在桌面上实行利用:

    class APP:

    tkinter 模块:加多 Tk 到使用中

    • 1. 成品介绍
    • 2. 设计规划
      1. 连带知识
      1. 源码附属类小部件

    tkinter的使用:

     

    率先:大家来赢得有道词典的API接口;

       def __init__(self,master):

    那么为了让 tkinter 成为应用的一有的,你须求做些什么吗?首先,已经存在的施用并非必需的。借使您愿意,能够创造二个纯 GUI 程序,不过并没有令人感兴趣的平底成效的顺序不会有啥用处。

    Tkinter模块("Tk 接口")是Python的规范Tk GUI工具包的接口,位Python的放手模块,直接import tkinter就能够使用。

    1.模块的导入

    • [tkinter是python暗中同意的gui库,所以一般无需另外安装模块]:from tkinter import *

    开采网址:
    网址 http://fanyi.youdao.com/

           frame=tk.Frame(master)

    让 GUI 程序运维和周转起来供给以下 5 个非常重要步骤。

    作为实行, 用Tkinter做了个ascii码转化查询表

    2.使用:

    • 创立主窗口:root=Tk()   【root是多少个主窗口对象】
    • 创造若干个控件:控件对象=控件(root,控件参数设置)    【这里的控件也能够增进到其他窗口中】
    • 将控件显示出来:控件对象.pack()     【这里也不确定是pack,也足以是其他的显示情势,例如grid,后边介绍】
    • 让主窗口持续突显:root.mainloop()

     

    新葡亰496net 1

           frame.pack(side=tk.LEFT,padx=10,pady=10)

    1.  导入 tkinter 模块(或 from tkinter import *)。

     

    - 3.控件介绍:

     

    普通话转意大利语的翻译.png

           self.hi_there=tk.Button(frame,text='打招呼',fg='black',command=self.say_hi,bg='blue')

    2.创建三个顶层窗口对象,用于容纳全体 GUI 应用。

    1. 成品介绍

    界面

      新葡亰496net 2

    功能

    • 经过输入字符或数字查询相应的音信
    • 通过挑选列表中的音讯查询相应的消息

    回去顶上部分

    主窗口Tk[具有控件都亟需附着在分界面上]:

    介绍:主窗口是怀有控件附着的基础,全体控件都急需附着在分界面上,即便程序中从未点名控件附着的窗口,将暗许附着到主窗口Tk中,假如程序中并未有定义Tk,那么将活动创立一个

    常见属性【想要初阶化主窗口的天性要求运用 主窗口对象.属性(“参数”) :

    • title:窗口标题
    • geometry:窗口大小,大写格式是”宽度x高度 x位置 y位置”【注意不是*是x】,其中x,y将左上角作为(0,0)

      from tkinter import *

      root=Tk() root.title('作者的窗口') root.geometry('500x500') root.mainloop()

     

     

     

    这里透过HttpFox拦截乞求中大家能够看到,大家在网站:http://fanyi.youdao.com/ 中输入中夏族民共和国的时候,调用了post接口,这里的post 参数作者把它极度的截出来了,在这之中key 为i 的value值 是叁个乱码的,这里前面会一会就有讲到,里面post参数都有罗列。

           self.hi_there.pack()

    3.在顶层窗口对象之上(或然“个中”)塑造具有的 GUI 组件(及其职能)。

    2. 设计规划

    规划图

    新葡亰496net 3

    回来最上部

    按钮Button:

    • 介绍:按钮新葡亰496net 4
    • 常用参数设置【能够在创造按键的时候内定,也足以创制后使用   开关对象.config()  来设置】:
      • text:开关上的文本显示
      • anchor:开关上内容的职位[取值:n, ne, e, se, s, sw, w, nw, or center,当中n e s w是西南西南的缩写]
      • cursor:当鼠标移动到开关上时所呈现的光标【arrow:箭头,cross:十字,dot: 点,hand1:手 …….】
      • font:字体,使用元组来内定一个字体,这些元组包括了贰个字体类型名字,八个以磅为单位的万丈,代表七个或多个样式的字符串,比方("Times", 10, "bold")
      • background[可缩写为bg]:背景象,取值可未立陶宛共和国(Republic of Lithuania)语颜色字符串,恐怕奔驰G级GB值
      • foreground[可缩写为fg]:前景象,取值可未韩文颜色字符串,只怕宝马X5GB值
      • borderwidth[可缩写为bd]::边框大小
      • activebackground:按键处于活动状态时选择的背景颜色。
      • activeforeground:按键处于活动状态时利用的前景颜色。
      • disabledforeground:禁止使用开关时选择的颜料。
      • highlightbackground:当按键未有规范时用于高亮边框的颜料
      • relief:边框的装修
        • 列表里面是relief的可选值:["flat", "raised", "sunken", "solid", "ridge", "groove"]
        • flat是指开关边框是一马平川的,raise是指按键边框是崛起的,sunken是指开关边框是凹入的,solid是指按键边框是粗边框…
        • 按钮relief的效果:新葡亰496net 5
      • padx和pady:钦点文本或图象与开关边框的间隔,x,y为x轴,y轴方向
      • height,widht:按钮的尺码,height为高度,width为宽度,假诺不安装则默感到富含文件内容
      • state:开关的图景,可取值:NORMAL, ACTIVE 或 DISABLED。默许值为NORMAL。
      • justify:对齐情势
      • command:当按下按键时调用的不二等秘书籍

     

    Button全部的可安装参数

    activebackground, activeforeground, anchor,
    background, bitmap, borderwidth, cursor,
    disabledforeground, font, foreground
    highlightbackground, highlightcolor,
    highlightthickness, image, justify,
    padx, pady, relief, repeatdelay,
    repeatinterval, takefocus, text,
    textvariable, underline, wraplength
    
     
    

    WIDGET-SPECIFIC OPTIONS【特有选项】:

    command, compound, default, height,
    overrelief, state, width

     

     

     

    from tkinter import *
    
    def hello():
        print("hello")
    root=Tk()
    
    # RELIEF=["flat", "raised", "sunken", "solid", "ridge", "groove"]
    
    btn1=Button(root,text='click me')
    btn1.config(bg='green',fg='white',cursor='hand1',height=10,width=10,command=hello,relief='sunken')
    btn1.config(anchor=LEFT)
    btn1.pack()
    
    # for col,i in enumerate(RELIEF):
    #     btn=Button(root,text=i,relief=i,anchor=S)
    #     btn.grid(row=0,column=col)
    
    root.mainloop()
    

     

     

    • ### Label:

      • 介绍:突显七个文件或图象。
      • 参数设置:label没有啥样特别的参数,可用参数参照他事他说加以考察下边包车型客车可用参数,再能够参照他事他说加以考察Button的参数设置
    STANDARD OPTIONS【label的标准可选参数】
    
        activebackground, activeforeground, anchor,
        background, bitmap, borderwidth, cursor,
        disabledforeground, font, foreground,
        highlightbackground, highlightcolor,
        highlightthickness, image, justify,
        padx, pady, relief, takefocus, text,
        textvariable, underline, wraplength
    
     
    
    WIDGET-SPECIFIC OPTIONS【特有选项】:
    
        height, state, width
    
     
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('500x500')
    
    label=Label(text='用户名:',bg='green')
    label.grid()
    root.mainloop()
    

    新葡亰496net 6

     

     

    • ### 框架Frame:

      • 介绍:一个容器窗口部件。能够有边框和背景。Frame暗中同意是没有大小的,所以一定要设置低度和宽窄,而当加了控件到Frame后它会“缩水”【这里缩水是因为Frame自动裁减到刚刚能包裹控件】,须求在展现的时候强制安装大小比如pack(fill=X),那是挟持填充水平方向,又只怕利用 Frame对象.pack_propagate(0),那些函数能够使得设置的莫大和宽度生效
      • 参数设置:可用参数参照他事他说加以考察上面包车型大巴可用参数,再参谋开关的参数设置
    STANDARD OPTIONS【标准可用参数】
    
        activebackground, activeforeground, anchor,
        background, bitmap, borderwidth, cursor,
        disabledforeground, font, foreground,
        highlightbackground, highlightcolor,
        highlightthickness, image, justify,
        padx, pady, relief, takefocus, text,
        textvariable, underline, wraplength
    
    #这是一段没有显示Frame 代码
    from tkinter import *
    
    root=Tk()
    root.geometry('500x500')
    frame=Frame(root,height = 200,width = 400,bg = 'black')
    
    Label(frame,text='mylabel').pack()
    
    frame.pack()
    
    root.mainloop()
    
    #下面是探究出缩水原因的代码
    from tkinter import *
    
    root=Tk()
    root.geometry('500x500')
    frame=Frame(root,height = 400,width = 400,bg = 'green')
    
    
    button1=Button(frame,text='hello')
    button1.pack(side=LEFT,padx=5,pady=5)#增加了边距之后,发现出了frame的背景颜色
    button2=Button(frame,text='hello')
    button2.pack(side=LEFT)
    frame.pack(side=TOP)
    
    
    root.mainloop()
    

    新葡亰496net 7

    #下面的是使用.pack_propagate(0)解决了问题的代码
    from tkinter import *
    
    root=Tk()
    root.geometry('500x500')
    frame=Frame(root,height = 400,width = 400,bg = 'green')
    
    # Label(frame,text='mylabel',padx=5,pady=5).pack(side=LEFT)
    button1=Button(frame,text='hello')
    button1.pack(side=LEFT,padx=5,pady=5)
    button2=Button(frame,text='hello')
    button2.pack(side=LEFT)
    frame.pack_propagate(0)
    frame.pack(side=TOP)
    
    # frame.pack(side=TOP,fill=X)
    
    root.mainloop()
    

     

     

    • ### Toplevel:

      • 介绍:二个器皿窗口,作为三个独自的、最上边的窗口显示。 新葡亰496net 8
      • 参数设置:可用参数参考上边包车型大巴,用法参谋Tk的
      • Toplevel是二个子窗口,当父窗口关闭时子窗口会停业,但子窗口关闭时父窗口不闭馆
    Valid resource names: 
    
    background, bd, bg, borderwidth, class,
    colormap, container, cursor, height, highlightbackground,
    highlightcolor, highlightthickness, menu, relief, screen, takefocus,
    use, visual, width
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('500x500')
    
    t1=Toplevel(root)
    t1.title("Top窗口")
    t1.geometry("100x100")
    label=Label(t1,text="用户名:")
    label.pack()
    root.mainloop()
    

     

     

     

    • ### 菜单Menu:

      • 介绍:菜单控件,相当于四个菜单组菜单栏,未有增进任何菜单时默许未有显得,独有增添其余的菜单,才会了实际上的意思
      • 要想呈现菜单,必须在“要增加菜单的窗口对象”的config中允许加多上“菜单对象”新葡亰496net 9
      • 参数设置:可用参数参谋上边包车型大巴可用参数,再参照他事他说加以考察开关的参数设置
        • 注意:Menu是没有text的
      • 增多菜单按键:
        • 增多命令菜单:Menu对象.add_command()
        • 拉长种类菜单:Menu对象.add_cascade(**options)  【多级菜单能够流传二个菜谱对象】新葡亰496net 10
        • 拉长分水线:Menu对象.add_separator(**options)
        • 增加复选框菜单:Menu对象.add_checkbutton(**options)
        • 增多单选框菜单:Menu对象.add_radiobutton(**options)
        • 插入菜单:insert_separator(),insert_checkbutton(),insert_radiobutton(),insert_cascade(),
        • 其他。。。。
    常见可用参数:
    
    activebackground, activeborderwidth,
    activeforeground, background, bd, bg, borderwidth, cursor,
    disabledforeground, fg, font, foreground, postcommand, relief,
    selectcolor, takefocus, tearoff, tearoffcommand, title, type
    
    from tkinter import *
    
    root=Tk()
    
    menuBar=Menu(root,tearoff=0)
    root.config(menu=menuBar)
    filemenu=Menu(menuBar,fg='green')#文件菜单下的字体是绿色的
    filemenu.add_command(label='新建',accelerator = 'Ctrl N')
    filemenu.add_command(label='打开',accelerator = 'Ctrl O')
    filemenu.add_command(label='保存',accelerator = 'Ctrl S')
    filemenu.add_command(label='另存为',accelerator ='Ctrl Shift S')
    menuBar.add_cascade(label='文件',menu=filemenu)
    
    #这里测试root.config(menu=menuBar)的作用
    # def show_menuBar():
    #     root.config(menu=menuBar)
    # button=Button(text='show_menu',command=show_menuBar)
    # button.pack()
    
    
    root.mainloop()
    

     

     

    • ### Menubutton:

      • 介绍:菜单开关。用来促成下拉式菜单。 新葡亰496net 11
      • 参数设置:可用参数参谋上边Menu的,用法同样能够参见按键Button的
      • 添加菜单的艺术参谋Menu的
      • 注意:本次不是在root里面config了,而是在菜单开关中安装

      from tkinter import * root=Tk() menubtn=Menubutton(root,text='单击现身下拉菜单',relief='raise')#建构多个美食做法开关menubtn.pack() #增添菜单 filemenu=Menu(menubtn) filemenu.add_command(label='新建')

      menubtn.config(menu=filemenu)#设置菜单按键允许展现菜单,这里不是root了 root.mainloop()

     

     

    新葡亰496net 12

       def say_hi(self):

    4.通过尾巴部分的运用代码将那么些 GUI 组件连接起来。

    3. 荣辱与共文化

    率先看怎么爆发第二个窗口

    from Tkinter import *   #引用Tk模块
    root = Tk()             #初始化Tk()
    root.mainloop()         #进入消息循环
    

    多少个常用属性

    • title: 设置窗口标题
    • geometry: 设置窗口大小
    • resizable():设置窗口是不是能够变化长 宽

    新葡亰496net 13

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry('200x100')                 #是x 不是*
    root.resizable(width=False, height=True) #宽不可变, 高可变,默认为True
    root.mainloop()
    

    新葡亰496net 14

    介绍以下多少个控件的用法

    • Label
    • Frame
    • Entry
    • Text
    • Button
    • Listbox
    • Scrollbar

    表明每一个控件最终要加多pack().不然控件是无力回天呈现的.

    3.1 Label

    说明

      标签

    用法

      Label(根对象, [质量列表])

    属性

    • text    要切切实实的公文
    • bg    背景颜色
    • font    字体(颜色, 大小)
    • width  控件宽度
    • height 控件中度

      以下介绍的控件差不离都有那多少个属性, 更详尽的性子查看参照他事他说加以考察网页

    举例

    新葡亰496net 15

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry('300x200')
    l = Label(root, text="show", bg="green", font=("Arial", 12), width=5, height=2)
    l.pack(side=LEFT)  #这里的side可以赋值为LEFT  RTGHT TOP  BOTTOM
    root.mainloop()
    

    新葡亰496net 16

    效果

      新葡亰496net 17

    3.2 Frame

    说明

      在屏幕上开创一块矩形区域,多作为容器来布局窗体

    用法

      Frame(根对象, [属性列表])

    举例

         要在控件中出现那样的四个词语

                     校训

              厚德        敬业

              博学        乐群     

      能够设计为         

        新葡亰496net 18

    新葡亰496net 19

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry('300x200')
    
    Label(root, text='校训'.decode('gbk').encode('utf8'), font=('Arial', 20)).pack()
    
    frm = Frame(root)
    #left
    frm_L = Frame(frm)
    Label(frm_L, text='厚德'.decode('gbk').encode('utf8'), font=('Arial', 15)).pack(side=TOP)
    Label(frm_L, text='博学'.decode('gbk').encode('utf8'), font=('Arial', 15)).pack(side=TOP)
    frm_L.pack(side=LEFT)
    
    #right
    frm_R = Frame(frm)
    Label(frm_R, text='敬业'.decode('gbk').encode('utf8'), font=('Arial', 15)).pack(side=TOP)
    Label(frm_R, text='乐群'.decode('gbk').encode('utf8'), font=('Arial', 15)).pack(side=TOP)
    frm_R.pack(side=RIGHT)
    
    frm.pack()
    
    root.mainloop()
    

    新葡亰496net 20

    效果

      新葡亰496net 21

     

    3.3 Entry

    说明

      成立单行文本框

    用法

    •   创建:lb =Entry(根对象, [性情列表])
    •   绑定变量 var=StringVar()    lb=Entry(根对象, textvariable = var)
    •   获取文本框中的值   var.get()
    •   设置文本框中的值   var.set(item1)

    举例

    新葡亰496net 22

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry()
    var = StringVar()
    e = Entry(root, textvariable = var)
    var.set("hello")
    e.pack()
    
    root.mainloop()
    

    新葡亰496net 23

    效果

      新葡亰496net 24

    3.4 Text

    说明

      向该空间内输入文本

    用法

      t = Text(根对象)

      插入:t.insert(mark, 内容)

      删除:t.delete(mark1, mark2)

      在那之中,mark能够是行号,可能新鲜标记,比如

    • INSERT:光标的插入点CUPRADORENT:鼠标的此时此刻职责所对应的字符地方
    • END:这么些Textbuffer的终极四个字符
    • SEL_FI昂科拉ST:选普通话本域的第二个字符,若无当选区域则会掀起那多少个
    • SEL_LAST:选汉语本域的最后四个字符,若无入选区域则会掀起 非凡

    举例

    新葡亰496net 25

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry('300x200')
    
    t = Text(root)
    t.insert(1.0, 'hellon')
    t.insert(END, 'hello000000n')
    t.insert(END, 'nono')
    t.pack()
    
    root.mainloop()
    

    新葡亰496net 26

    效果

      新葡亰496net 27

    3.5 Button

    说明

      创造开关

    用法

      Button(根对象, [属性列表])

    举例

    新葡亰496net 28

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry()
    
    def printhello():
        t.insert('1.0', "hellon")
    
    t = Text()
    t.pack()
    Button(root, text="press", command = printhello).pack()
    root.mainloop()
    

    新葡亰496net 29

    效果

      新葡亰496net 30

    3.6 Listbox

    说明

      列表控件,能够分包多个或五个公文想,可单选也可多选

    用法

    •   创建:lb = ListBox(根对象, [属性列表])
    •   绑定变量 var=StringVar()    lb=ListBox(根对象, listvariable = var)
    •   获得列表中的全部值   var.get()
    •   设置列表中的全部值   var.set((item1, item2, .....))
    •   添加:lb.insert(item)
    •   删除:lb.delete(item,...)
    •   绑定事件 lb.bind('<ButtonRelease-1>', 函数)
    •   得到所选中的选项 lbl.get(lb.curselection())

    属性

      selectmode可以为BROWSE MULTIPL SINGLE

    举例

    新葡亰496net 31

    # -*- coding: cp936 -*-
    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry()
    
    def print_item(event):
        print lb.get(lb.curselection())
    
    var = StringVar()
    lb = Listbox(root,  listvariable = var)
    list_item = [1, 2, 3, 4]         #控件的内容为1 2 3 4
    for item in list_item:
        lb.insert(END, item)
    lb.delete(2, 4)                  #此时控件的内容为1 3
    
    var.set(('a', 'ab', 'c', 'd'))   #重新设置了,这时控件的内容就编程var的内容了
    print var.get()
    lb.bind('<ButtonRelease-1>', print_item)
    lb.pack()
    
    root.mainloop()
    

    新葡亰496net 32

    效果

      新葡亰496net 33

    3.7 Scrollbar

    说明

      在显示器上创建一块矩形区域,多作为容器来布局窗体

    用法

      Frame(根对象, [质量列表]), 最长用的用法是和其他控件一齐使用.

    举例

    新葡亰496net 34

    from Tkinter import *
    root = Tk()
    root.title("hello world")
    root.geometry()
    
    def print_item(event):
        print lb.get(lb.curselection())
    
    var = StringVar()
    lb = Listbox(root, height=5, selectmode=BROWSE, listvariable = var)
    lb.bind('<ButtonRelease-1>', print_item)
    list_item = [1, 2, 3, 4, 5, 6, 7, 8, 9, 0]
    for item in list_item:
        lb.insert(END, item)
    
    scrl = Scrollbar(root)
    scrl.pack(side=RIGHT, fill=Y)
    lb.configure(yscrollcommand = scrl.set)
    lb.pack(side=LEFT, fill=BOTH)
    scrl['command'] = lb.yview
    
    root.mainloop()
    

    新葡亰496net 35

    效果

      新葡亰496net 36

    Canvas:

    • 介绍:协会图形。那个部件能够用来绘制图表和图,创设图形编辑器,达成定制窗口部件
    • 参数设置:可用参数仿照效法下边的,用法一样能够参照开关Button的
    • 加多图像的章程:
      • create_rectangle:依据五个参数画三个矩形,三个参数是岗位
      • create_polygon:依照提供的三个参数画叁个多边形
      • 其他。。
    可用参数: background, bd, bg, borderwidth, closeenough,
    confine, cursor, height, highlightbackground, highlightcolor,
    highlightthickness, insertbackground, insertborderwidth,
    insertofftime, insertontime, insertwidth, offset, relief,
    scrollregion, selectbackground, selectborderwidth, selectforeground,
    state, takefocus, width, xscrollcommand, xscrollincrement,
    yscrollcommand, yscrollincrement
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('500x500')
    mycanvas=Canvas(root,width=200,height=200,bg='green')
    mycanvas.pack()
    #画一个矩形
    mycanvas.create_rectangle(10,10,110,110,outline = 'red',width = 5)
    
    root.mainloop()
    

     

     

    拉脱维亚语转普通话的翻译.png

           print('大家好')

    5.进来主事件循环。

    4. 源码附属类小部件

    代码

    # -*- coding:cp936 -*-
    from Tkinter import *
    
    class show:
        num_info_hash = {}
        char_info_hash = {}
        num_char = {}
        char_num = {}
        def __init__(self):
    
            self.root = Tk()
            self.root.title("ASCII码查询".decode('gbk').encode('utf8'))
            #self.root.geometry('470x320')
            ########
            self.frm = Frame(self.root)
            #Top
            Label(self.root, text="ASCII码查询".decode('gbk').encode('utf8'), font=('Arial', 15)).pack()
            self.load_sys()
            self.frm = Frame(self.root)
            #Left
            self.frm_L = Frame(self.frm)
            self.frm_LT = Frame(self.frm_L)
            self.var_char = StringVar()
            Entry(self.frm_LT, textvariable=self.var_char, width = 5, font =('Verdana',15)).pack(side=RIGHT)
            Label(self.frm_LT, text = '字符'.decode('gbk').encode('utf8'), font =('Arial',12)).pack(side=LEFT)
            self.frm_LT.pack()
    
            self.var_L_char = StringVar()
            self.lb_char = Listbox(self.frm_L, selectmode=BROWSE, listvariable=self.var_L_char, font =('Verdana',12), width=10, height=13)
            self.lb_char.bind('<ButtonRelease-1>', self.get_char)
            for key in self.char_num:
                self.lb_char.insert(END, key[0])
            self.scrl_char = Scrollbar(self.frm_L)
            self.scrl_char.pack(side=RIGHT, fill=Y)
            self.lb_char.configure(yscrollcommand = self.scrl_char.set)
            self.lb_char.pack(side=LEFT, fill=BOTH)
            self.scrl_char['command'] = self.lb_char.yview
    
            self.frm_L.pack(side = LEFT)
    
            #Mid
            self.frm_M = Frame(self.frm)
            self.t_show = Text(self.frm_M, width=20, height=5, font =('Verdana',15))
            self.t_show.insert('1.0', '')
            self.t_show.pack()
    
            self.frm_MB = Frame(self.frm_M)
            Button(self.frm_MB, text="清除".decode('gbk').encode('utf-8'), command=self.clear, width=6, height=1, font=('Arial', 10)).pack(side=LEFT)
            Button(self.frm_MB, text="查询".decode('gbk').encode('utf-8'), command=self.search, width=6, height=1, font=('Arial', 10)).pack(side=RIGHT)
            self.frm_MB.pack(side=BOTTOM)
    
            self.frm_M.pack(side=LEFT)
    
            #Right
            self.frm_R = Frame(self.frm)
            self.frm_RT = Frame(self.frm_R)
            self.var_int = StringVar()
            Entry(self.frm_RT, textvariable=self.var_int, width=5, font =('Verdana',15)).pack(side=LEFT)
            Label(self.frm_RT, text='十进制'.decode('gbk').encode('utf-8'), font =('Arial',12)).pack(side=RIGHT)
            self.frm_RT.pack()
            self.var_R_int = StringVar()
            self.lb_int = Listbox(self.frm_R, selectmode=BROWSE, listvariable=self.var_R_int, font =('Verdana',12), width=10, height=13)
            self.lb_int.bind('<ButtonRelease-1>', self.get_int,)
            for key in self.num_char:
                self.lb_int.insert(END, key[0])
            self.scrl_int = Scrollbar(self.frm_R)
            self.scrl_int.pack(side=RIGHT, fill=Y)
            self.lb_int.configure(yscrollcommand = self.scrl_int.set)
            self.lb_int.pack(side=LEFT, fill=BOTH)
            self.scrl_int['command'] = self.lb_int.yview
    
            self.frm_R.pack(side = LEFT)
    
            self.frm.pack()
            ########
    
    
        def get_char(self, event):
            self.var_char.set('')
            self.var_int.set('')
            tmp = self.lb_char.get(self.lb_char.curselection())
            self.var_char.set(tmp)
        def get_int(self, event):
            self.var_int.set('')
            self.var_char.set('')
            tmp = self.lb_int.get(self.lb_int.curselection())
            self.var_int.set(tmp)
        def clear(self):
            self.var_char.set('')
            self.var_int.set('')
            self.t_show.delete('1.0', '10.0')
        def search(self):
            self.t_show.delete('1.0', '100.0')
            tmp_char = self.var_char.get()
            tmp_int = self.var_int.get()
            if tmp_char != '':
                if not self.char_info_hash.has_key(tmp_char):
                    self.t_show.insert('1.0', "您输入的字符不在128个字符之内".decode('gbk').encode('utf8'))
                else:
                    self.t_show.insert('1.0', '十六进制:'.decode('gbk').encode('utf8')   't'   self.char_info_hash[tmp_char][2]   'n')
                    self.t_show.insert('1.0', '十进制:'.decode('gbk').encode('utf8')  't'   self.char_info_hash[tmp_char][1]   'n')
                    self.t_show.insert('1.0', '八进制:'.decode('gbk').encode('utf8')   't'   self.char_info_hash[tmp_char][0]   'n')
                    self.t_show.insert('1.0', '字符:'.decode('gbk').encode('utf8')  't'   tmp_char   'nn')
                self.var_char.set('')
                self.var_int.set('')
            elif tmp_int !='':
                if not self.num_info_hash.has_key(tmp_int):
                    self.t_show.insert('1.0', "请输入介于0~127之间的整数".decode('gbk').encode('utf8'))
                else:
                    self.t_show.insert('1.0', '字符:'.decode('gbk').encode('utf8')  't'   self.num_info_hash[tmp_int][2]   'n')
                    self.t_show.insert('1.0', '十六进制:'.decode('gbk').encode('utf8')   't'   self.num_info_hash[tmp_int][1]   'n')
                    self.t_show.insert('1.0', '八进制:'.decode('gbk').encode('utf8')   't'   self.num_info_hash[tmp_int][0]   'n')
                    self.t_show.insert('1.0', '十进制:'.decode('gbk').encode('utf8')   't'   tmp_int   'nn')
                self.var_char.set('')
                self.var_int.set('')
            else:
                self.t_show.insert('1.0', '请选择或输入'.decode('gbk').encode('utf8'))
    
        def load_sys(self):
            f = file('asc')
            for line in f:
                chunk = line.strip().split('t')
                self.num_char[int(chunk[1])] = chunk[3]
                self.char_num[chunk[3]] = int(chunk[1])
                self.num_info_hash[chunk[1]] = [chunk[0], chunk[2], chunk[3]]
                self.char_info_hash[chunk[3]] = [chunk[0], chunk[1], chunk[2]]
    
            self.num_char =sorted(self.num_char.iteritems(), key = lambda asd:asd[0])
            self.char_num =sorted(self.char_num.iteritems(), key = lambda asd:asd[1])
    
    
    
    
    def main():
        d = show()
        mainloop()
    if __name__== "__main__":
        main()
    

    文本

    0    00    nul
       1    01    soh
       2    02    stx
       3    03    etx
       4    04    eot
       5    05    enq
       6    06    ack
       7    07    bel
       8    08    bs
       9    09    ht
       10    0a    nl
       11    0b    vt
       12    0c    ff
       13    0d    er
       14    0e    so
       15    0f    si
       16    10    dle
       17    11    dc1
       18    12    dc2
       19    13    dc3
       20    14    dc4
       21    15    nak
       22    16    syn
       23    17    etb
       24    18    can
       25    19    em
       26    1a    sub
       27    1b    esc
       28    1c    fs
       29    1d    gs
       30    1e    re
       31    1f    us
       32    20    sp
       33    21    !
       34    22    "
       35    23    #
       36    24    $
       37    25    %
       38    26    &amp;
       39    27    `
       40    28    (
       41    29    )
       42    2a    *
       43    2b     
       44    2c    ,
       45    2d    -
       46    2e    .
       47    2f    /
       48    30    0
       49    31    1
       50    32    2
       51    33    3
       52    34    4
       53    35    5
       54    36    6
       55    37    7
       56    38    8
       57    39    9
       58    3a    :
       59    3b    ;
       60    3c    &lt;
       61    3d    =
       62    3e    &gt;
       63    3f    ?
       64    40    @
       65    41    A
       66    42    B
       67    43    C
       68    44    D
       69    45    E
       70    46    F
       71    47    G
       72    48    H
       73    49    I
       74    4a    J
       75    4b    K
       76    4c    L
       77    4d    M
       78    4e    N
       79    4f    O
       80    50    P
       81    51    Q
       82    52    R
       83    53    S
       84    54    T
       85    55    U
       86    56    V
       87    57    W
       88    58    X
       89    59    Y
       90    5a    Z
       91    5b    [
       92    5c    
       93    5d    ]
       94    5e    ^
       95    5f    _
       96    60    '
       97    61    a
       98    62    b
       99    63    c
       100    64    d
       101    65    e
       102    66    f
       103    67    g
       104    68    h
       105    69    i
       106    6a    j
       107    6b    k
       108    6c    l
       109    6d    m
       110    6e    n
       111    6f    o
       112    70    p
       113    71    q
       114    72    r
       115    73    s
       116    74    t
       117    75    u
       118    76    v
       119    77    w
       120    78    x
       121    79    y
       122    7a    z
       123    7b    {
       124    7c    |
       125    7d    }
       126    7e    ~
       127    7f    del
    

    Python Tkinter参照他事他说加以考察资料之(通用控件属性)

    Entry:

    • 介绍:单行文本输入域。 新葡亰496net 37
    • 参数设置:可用参数参考上面包车型大巴,用法相同能够参照按键Button的
    Valid resource names: background, bd, bg, borderwidth, cursor,
    exportselection, fg, font, foreground, highlightbackground,
    highlightcolor, highlightthickness, insertbackground,
    insertborderwidth, insertofftime, insertontime, insertwidth,
    invalidcommand, invcmd, justify, relief, selectbackground,
    selectborderwidth, selectforeground, show, state, takefocus,
    textvariable, validate, validatecommand, vcmd, width,
    xscrollcommand.
    

     

    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('300x300 20 10')
    entry=Entry(root)
    entry.pack()
    
    root.mainloop()
    

     

    • ### Text:

      • 介绍:多创作本输入域,允许你用不一致的体制和总体性来展现和编辑文本。同偶尔间协理内嵌图象和窗口。 新葡亰496net 38
      • 参数设置:可用参数参考下边包车型客车,用法同样可以参谋开关Button的
    STANDARD OPTIONS
    
        background, borderwidth, cursor,
        exportselection, font, foreground,
        highlightbackground, highlightcolor,
        highlightthickness, insertbackground,
        insertborderwidth, insertofftime,
        insertontime, insertwidth, padx, pady,
        relief, selectbackground,
        selectborderwidth, selectforeground,
        setgrid, takefocus,
        xscrollcommand, yscrollcommand,
    
    WIDGET-SPECIFIC OPTIONS
    
        autoseparators, height, maxundo,
        spacing1, spacing2, spacing3,
        state, tabs, undo, width, wrap,
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('300x300 250 55')
    button=Button(text='submit')
    button.pack()
    t1=Text(root,height=100,width=100,cursor='cross')
    t1.pack()
    
    root.mainloop()
    

     

    • ### Message:

    • 介绍:呈现多行文本。类似label窗口部件,可是能够自动地调动文本到给定的大幅度或比率。 新葡亰496net 39

    • 参数设置:与Label类似
    • 出于Label也能够来得多行文本后,就稳步少用Message了。"""Message widget to display multiline text. Obsolete since Label does it too."""

     

     

     

     

    对峙于国文的翻译,匈牙利(Hungary)语的就很好的见到了, 我们能够直接阅览对于i的value值为china

    root=tk.Tk()

    先是步是零星的:全部应用 tkinter 的 GUI 程序都不能够不导入 tkinter 模块。

     半数以上控件的分享选项:

    选项(别名)

    说明

    单位

    典型值

    没有此属性的控件

    background(bg)

    当控件显示时,给出的正常颜色

    color

    'gray25'
    '#ff4400'
     

    borderwidth(bd)

    设置一个非负值,该值显示画控件外围3D边界的宽度;(特别的由relief选项决定这项决定).控件内部的3D效果也可以使用该值,该值可以是Tkinter(Tk_GetPixels)接受的任何格式 

    pixel

    3  

    cursor

    指定控件使用的鼠标光标,该值可以是Tkinter(Tk_GetPixels)接受的任何格式

    cursor

    gumby  

    font

    指定控件内部文本的字体

    font

     'Helvetica'
    ('Verdana',8)
    Canvas Frame
    Scrollbar
    Toplevel 

    foreground(fg)

     指定控件的前景色 color  'black'
    '#ff2244'
    Canvas Frame
    Scrollbar
    Toplevel 

    highlightbackground

    指出经过没有输入焦点的控件加亮区域颜色  color 'gray30' Menu 

    highlightcolor

    指出经过没有输入焦点的控件周围长方区域加亮颜色  color  'royalblue'  Menu 

    highlightthickness

    设置一个非负值,该值指出一个有输入焦点的控件周围加亮方形区域的宽度,该值可以是 Tk_GetCursor)接受的任何格式.如果为0,则不画加亮区域 pixel  2.1m  Menu 

    relief

    指出控件3D效果.可选值为RAISED,SUNKEN,FLAT,RIDGE,SOLID,GROOVE.该值指出控件内部相对于外部的外观样式,比如RAISED意味着控件内部相对于外部突出  constant  RAISED
    GROOVE 
     

    takefocus

    决定窗口在键盘遍历时是否接收焦点(比如Tab,shift-Tab).在设定焦点到一个窗口之前,遍历脚本检查takefocus选项的值,值0意味着键盘遍历时完全跳过,值1意味着只要有输入焦点(它及所有父代都映射过)就接收.空值由脚本自己觉定是否接收,当前的算法是如果窗口被禁止,或者没有键盘捆绑或窗口不可见时,跳过  boolean  1 YES   

    width

    指定一个整数,设置控件宽度,控件字体的平局字符数.如果值小于等于0,控件选择一个能够容纳目前字符的宽度

    integer

    32

    Menu

    Listbox:

    • 介绍:列表框用于从一组文本项目中展开分选。 依照列表框的安顿情势,用户能够从列表中选用贰个或多少个种类。新葡亰496net 40
    • 参数设置:可用参数仿照效法上面包车型大巴,参数设置一样能够参谋开关Button的
      • selectmode:选取情势,selectmode=EXTENDED时允大多选
      • selectbackground:选中时的背景颜色
      • selectforeground:选中时的字体颜色
      • selectborderwidth:选中时的边框大小
    • 常用函数:

      • 插入:insert(索引,元素)
      • 删除:delete(索引,元素)
      • 获取listbox元素:get()
    Valid resource names: background, bd, bg, borderwidth, cursor,
    exportselection, fg, font, foreground, height, highlightbackground,
    highlightcolor, highlightthickness, relief, selectbackground,
    selectborderwidth, selectforeground, selectmode, setgrid, takefocus,
    width, xscrollcommand, yscrollcommand, listvariable
    

     

    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('300x300 20 10')
    # listbox=Listbox(root)
    listbox=Listbox(root,selectmode=EXTENDED)
    listbox.insert(0,"孙悟空")
    listbox.insert(1,"唐僧")
    listbox.insert(2,"葫芦娃")
    listbox.pack()
    def func1():
        print(listbox.get(0,END))#以元组形式返回所有listbox的元素
    def func2():
        print(listbox.select_includes(1))#当对应索引被选中时返回True
    def func3():
        print(listbox.curselection())#以元组形式返回被选中的元素
    
    btn1=Button(text="获取所有元素",command=func1)
    btn1.pack()
    btn2=Button(text="判断1是否选中",command=func2)
    btn2.pack()
    btn3=Button(text="获取选中的索引",command=func3)
    btn3.pack()
    
    
    root.mainloop()
    

     

    因此查看网页源代码的秘技查看有道翻译的js文件,来查阅salt和sign是怎么变卦的
    这里的sign值是举行了md5加密来着

    新葡亰496net 41

    找到js文件,然后点击那么些文件,跳转到那个源文件中,然后全选全数的代码,复制下来.png

    app=APP(root)

    窗口和控件

      非常多控件分享的选项:

     

    选项(别名)

     

    说明

     

    单位

     

    典型值

     

    仅此类控件

    activebackground 指定画活动元素的背景颜色.元素(控件或控件的一部分)在鼠标放在其上并按动鼠标按钮引起某些行为的发生时,是活动的.如果严格的Modf一致性请求通过设置tk_strictModf变量完成,该选项将被忽略,正常背景色将被使用.对Windows和Macintosh系统,活动颜色将只有在鼠标按钮1被按过元素时使用  color 'red'
    '#fa07a3'
    Button
    Checkbutton
    Menu
    Menubutton
    Radiobutton
    Scale
    Scrollbar
    activeforeground 指定画活动元素时的前景颜色.参见上面关于活动元素的定义   color 'cadeblue' Button
    Menu
    Checkbutton
    Menubutton
    Radiobutton 
    anchor 指出控件信息(比如文本或者位图)如何在控件中显示.必须为下面值之一:
    N,NE,E,SE,S,SW,W,NW或者CENTER.比如NW(NorthWest)指显示信息时使左上角在控件的左上端
     constant   Button
    Checkbutton
    Label
    Message
    Menubutton
    Radiobutton 
    bitmap  指定一个位图在控件中显示,以Tkinter(Tk_GetBitmap)接受的任何形式.位图显示的精确方式受其他选项如锚或对齐的影响.典型的,如果该选项被指定,它覆盖指定显示控件中文本的其他选;bitmap选项可以重设为空串以使文本能够被显示在控件上.在同时支持位图和图像的控件中,图像通常覆盖位图  bitmap   Button
    Checkbutton
    Label
    Menubutton
    Radiobutton
    command  指定一个与控件关联的命令.该命令通常在鼠标离开控件之时被调用,对于单选按钮和多选按钮,tkinter变量(通过变量选项设置)将在命令调用时更新   command  setupData  Button
    Checkbutton
    Radiobutton
    Scale
    Scrollbar 
    disabledforeground 指定绘画元素时的前景色.如果选项为空串(单色显示器通常这样设置),禁止的元素用通常的前景色画,但是采用点刻法填充模糊化   color  'gray50' 

    Button
    Checkbutton
    Radiobutton
    Menu
    Menubutton

    height 指定窗口的高度,采用字体选项中给定字体的字符高度为单位,至少为1   integer 1  4  Button
    Canvas
    Frame
    Label
    Listbox
    Checkbutton
    Radiobutton
    Menubutton
    Text
    Toplevel 
    image  指定所在控件中显示的图像,必须是用图像create方法产生的.如果图像选项设定,它覆盖已经设置的位图或文本显示;更新恢复位图或文本的显示需要设置图像选项为空串    image   Button
    Checkbutton
    Label
    Menubutton
    Radiobutton 
    justify 当控件中显示多行文本的时候,该选项设置不同行之间是如何排列的,其值为如下之一:
    LEFT,CENTER或RIGHT.LEFT指每行向左对齐,CENTER指每行居中对齐,RIGHT指向右对齐 
     constant  RIGHT  Button
    Checkbutton
    Entry
    Label
    Menubutton
    Message
    Radiobutton 
    padx  指定一个非负值设置控件X方向需要的边距.该值为Tkinter(Tk_GetPixels)接受的格式.当计算需要多大的窗口时,控件会把此值加到正常大小之上(由控件中显示内容决定);如果几何管理器能够满足此请求,控件将在左端或右端得到一个给定的多余空边.大部分控件只用此项于文本,如果它们显示位图或图像,通常忽略空边选项   pixels 2m  10  Button
    Checkbutton
    Label
    Menubutton
    Message
    Radiobutton
    Text 
    pady  指定一个非负值设置控件Y方向需要的边距.该值为Tkinter(Tk_GetPixels)接受的格式.当计算需要多大的窗口时,控件会把此值加到正常大小之上(由控件中显示内容决定);如果几何管理器能够满足此请求,控件将在上端或下端得到一个给定的多余空边.大部分控件只用此项于文本,如果它们显示位 图或图像,通常忽略空边选项   pixels 12  3m  Button
    Checkbutton
    Label
    Menubutton
    Message
    Radiobutton
    Text 
    selectbackground  指定显示选中项时的背景颜色   color  blue  Canvas
    Listbox
    Entry
    Text 
    selectborderwidth  指定一个非负值,给出选中项的三维边界宽度,值可以是任何
    Tkinter(Tk_GetPixels)接受的格式 
     pixel

    Canvas
    Entry
    Listbox
    Text 

    selectforeground 指定显示选中项的前景颜色   color yellow  Canvas
    Entry
    Listbox
    Text 
    state 

    指定控件下列两三个状态之一(典型是复选按钮):
    NORMAL和DISABLED或NORMAL,ACTIVE和NORMAL.在NORMAL状态,控件有前景色和背景显示;在ACTIVE状态,控件按activeforeground和activebackground选项显示;在DISABLED状态下,控件不敏感,缺省捆绑将拒绝激活控件,并忽略鼠标行为,此时,由disabled foreground和background选项决定如何显示 

     constant ACTIVE 

    Button
    Checkbutton
    Entry
    Menubutton
    Scale
    Radiobutton
    Text 

    text  指定控件中显示的文本,文本显示格式由特定控件和其他诸如锚和对齐选项决定   string 'Display'  Button
    Checkbutton
    Label
    Menubutton
    Message
    Radiobutton 
    textvariable  指定一个变量名字.变量值被转变为字符串在控件上显示.如果变量值改变,控件将自动更新以反映新值,字符串显示格式由特定控件和其他诸如锚和对齐选项决定   variable widgetConstant  Button
    Checkbutton
    Entry
    Label
    Menubutton
    Message
    Radiobutton 
    underline  指定控件中加入下划线字符的整数索引.此选项完成菜单按钮与菜单输入的键盘遍历缺省捆绑.0对应控件中显示的第一个字符,1对应第二个,以此类推   integer Button
    CheckButton
    Label
    Menubutton
    Radiobutton 
    wraplength  对于能够支持字符换行的控件,该选项指定行的最大字符数,超过最大字符数的行将转到下行显示,这样一行不会超过最大字符数.该值可以是窗口距离的任何标准格式.如果该值小于或等于0,不换行,换行只有在文本中的换行符的地方才出现   pixel 41,65  Button
    Checkbutton
    Label
    Menubutton
    Radiobutton
    xscrollcommand  指定一个用来与水平滚动框进行信息交流的命令前缀,当控件窗口视图改变(或者别的任何滚动条显示的改变,如控件的总尺寸改变等等),控件将通过把滚动命令和两个数连接起来产生一个命令.两个数分别为0到1之间的分数,代表文档中的一个位置,0表示文档的开头,1.0表示文档的结尾处,0.333表示整个文档的三分之一处,如此等等.第一个分数代表窗口中第一个可见文档信息,第二个分数代表紧跟上一个可见部分之后的信息.然后命令把它们传到Tcl解释器执行.
    典型的,xscrollcommand选项由滚动条标识跟着set组成,如set.x.scrollbar set将引起滚动条在窗口中视图变化时被更新.如果此项没有指定,不执行命令 
     function   Canvas
    Entry
    Listbox
    Text 
    yscrollcommand  指定一个用来与垂直滚动框进行信息交流的命令前缀,当控件窗口视图改变(或者别的任何滚动条显示的改变,如控件的总尺寸改变等等),控件将通过把滚动命令和两个数连接起来产生一个命令.两个数分别为0到1之间的分数,代表文档中的一个位置,0表示文档的开头,1.0表示文档的结尾处,0.333表示整个文档的三分之一处,如此等等.第一个分数代表窗口中第一个可见文档信息,第二个分数代表紧跟上一个可见部分之后的信息.然后命令把它们传到Tcl解释器执行.
    典型的,yscrollcommand选项由滚动条标识跟着set组成,如set.y.scrollbar set将引起滚动条在窗口中视图变化时被更新.如果此项没有指定,不执行命令 
     function   Canvas
    Entry
    Listbox
    Text

     复选框Checkbutton:

    • 介绍:复选框点击那几个按键将会在这四个值间切换。
    • 参数设置:可用参数参照他事他说加以考察上面的,用法一样能够参谋按键Button的
      • variable:值为tkinter变量,能够应用   tkinter变量.get方法 来博取是或不是选中
    • 只要想要获取选中值,必须设置二个tkinter变量来获得,tkinter变量类型有:BooleanVar, DoubleVar, IntVar, StringVar

    可用参数:activebackground, activeforeground, anchor,
    background, bd, bg, bitmap, borderwidth, command, cursor,
    disabledforeground, fg, font, foreground, height,
    highlightbackground, highlightcolor, highlightthickness, image,
    indicatoron, justify, offvalue, onvalue, padx, pady, relief,
    selectcolor, selectimage, state, takefocus, text, textvariable,
    underline, variable, width, wraplength
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('200x200')
    def submit():
        print('男:',v1.get(),'女:',v2.get(),'另外:',v3.get())#选择则值为1,不选中为0
        # pass
    
    
    v1 = IntVar()            #用tkinter变量来表示按钮是否选中
    v2 = IntVar()
    v3 = IntVar()
    # 使用 Checkbutton时,必须创建一个 Tkinter 变量用于存放按钮的状态:
    cbtn=Checkbutton(root,text='男',variable=v1,command=submit)
    cbtn2=Checkbutton(root,text='女',variable=v2,command=submit)
    #v3是为了测试variable相同时,点一个,所有的v3都被选中
    cbtn3=Checkbutton(root,text='不明',variable=v3,command=submit)
    cbtn4=Checkbutton(root,text='保密',variable=v3,command=submit)
    
    button=Button(text='submit',command=submit)
    button.pack()
    cbtn.pack()
    cbtn2.pack()
    cbtn3.pack()
    cbtn4.pack()
    root.mainloop()
    

     

     

    贴上有道API代码的拿到:

    root.mainloop()

    在 GUI 编制程序中,顶层的根窗口对象涵盖组成 GUI 应用的持有小窗口对象。它们可能是文字标签、按键、列表框等。这么些独立的 GUI 组件称为控件。所以当我们说成立多个顶层窗口时,只是代表供给二个地点来摆放全数的控件。在 Python 中,一般会写成如下语句。

     

    Radiobutton:

    • 介绍:代表叁个变量,它能够有三个值中的一个。点击它将为这些变量设置值,并且化解与那无差别于变量相关的别的radiobutton。
    • 参数设置:可用参数参谋上边包车型大巴,用法同样能够仿效开关Button的
      • variable:值为tkinter变量,能够利用   tkinter变量.get方法 来赢得是或不是选中
      • value:依据后边的variable来支配数据类型,使用   tkinter变量.get方法 此时拿走的是选中选项的value的值
    Valid resource names: activebackground, activeforeground, anchor,
    background, bd, bg, bitmap, borderwidth, command, cursor,
    disabledforeground, fg, font, foreground, height,
    highlightbackground, highlightcolor, highlightthickness, image,
    indicatoron, justify, padx, pady, relief, selectcolor, selectimage,
    state, takefocus, text, textvariable, underline, value, variable,
    width, wraplength
    
     
    
    from tkinter import *
    
    root=Tk()
    v=StringVar()
    l=['man','woman','unknow']
    def ptr():
        print(v.get())
    for i in l:
        rbtn=Radiobutton(root,text=i,variable=v,value=i,command=ptr)
        rbtn.pack()
    
    root.mainloop()
    
     
    
    • ###  Scale:

    介绍:允许你通过滑块来设置一数字值。

    介绍:允许你通过滑块来安装一数字值。 新葡亰496net 42

    常用参数设置:

    • from_:设置滑块起首值
    • to:设置滑块最大值
    • orient:设置方向,默许是竖的,如若想改成水平的:orient=HO奥德赛IZONTAL
    Valid resource names: 
    
    activebackground, background, bigincrement, bd,
    bg, borderwidth, command, cursor, digits, fg, font, foreground, from,
    highlightbackground, highlightcolor, highlightthickness, label,
    length, orient, relief, repeatdelay, repeatinterval, resolution,
    showvalue, sliderlength, sliderrelief, state, takefocus,
    tickinterval, to, troughcolor, variable, width
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('300x300 20 10')
    scale=Scale(root,from_=0, to=100)#默认是竖的
    scale2=Scale(root,from_=0, to=100,orient=HORIZONTAL)#横的
    scale.pack()
    scale2.pack()
    
    root.mainloop()
    
     
    

     

    • ### Scrollbar:

      • 介绍:为协作使用canvas, entry, listbox, and text窗口部件的科班滚动条。
      • 参数设置:可用参数仿效上面包车型地铁,用法仿照效法开关Button的
    Valid resource names: 
    
    activebackground, activerelief,
    background, bd, bg, borderwidth, command, cursor,
    elementborderwidth, highlightbackground,
    highlightcolor, highlightthickness, jump, orient,
    relief, repeatdelay, repeatinterval, takefocus,
    troughcolor, width.
    
    from tkinter import *
    
    root=Tk()
    root.title('我的窗口')
    root.geometry('300x300 250 55')
    button=Button(text='submit')
    button.pack()
    t1=Text(root,height=100,width=100,cursor='cross')
    
    slb=Scrollbar(root)
    slb.pack(side=RIGHT,fill=Y)#设置滚动条的显示形式
    t1.config(yscrollcommand=slb.set)#设置允许滚动条
    #由于没有绑定事件,所以直接拖拽滚动条无效
    
    t1.pack()
    root.mainloop()
    

     

     

     

     

    想要明白越多,能够参谋tkinter的官方文档:


    # @Time    : 2017/8/28 0:42
    # @Author  : 蛇崽
    # @Email   : 17193337679@163.com
    # @File    : YouDaoTest.py
    
    import urllib.request
    import urllib.parse
    import time
    import random
    import hashlib
    import json
    
    headers = {}
    headers['Referer']='http://fanyi.youdao.com/'
    headers['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.7.0.16013'
    
    timestamp = int(time.time() * 1000)   random.randint(0,10)
    
    content = input('请输入您需要翻译的内容:')
    
    u = "fanyideskweb"
    d = content
    f = str(timestamp)
    c = "rY0D^0'nM0}g5Mm1z%1G4"
    
    sign = hashlib.md5((u   d   f   c).encode('utf-8')).hexdigest()
    
    data = {
      'i': content,
      'from': 'AUTO',
      'to': 'AUTO',
      'smartresult': 'dict',
      'client': 'fanyideskweb',
      'salt': timestamp,
      'sign': sign,
      'doctype': 'json',
      'version': '2.1',
      'keyfrom': 'fanyi.web',
      'action': 'FY_BY_CLICK',
      'typoResult': 'true'
    }
    
    data = urllib.parse.urlencode(data).encode('utf-8')
    request = urllib.request.Request(url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.google.com/',method='POST',data=data,headers=headers)
    response = urllib.request.urlopen(request)
    result_str = response.read().decode('utf-8')
    result_dict = json.loads(result_str)
    print (result_dict["translateResult"][0][0]['tgt'])~~~
    

    76.lable和buttom组件

    top = tkinter.Tk() # or just Tk() with "from Tkinter import *"

    资料来自——《Python与Tkinter编制程序》附录B

     

    那边运用的是自行翻译成效,未有动用手动

    1)图像和文字分离

    Tkinter.Tk()再次来到的指标经常堪称根窗口,那也是一些用到使用 root 并不是 top 来替代它的来由。顶层窗口是那多少个在应用中独立展现的有的。GUI 程序中能够有四个顶层窗口,不过其中只好有贰个是根窗口。能够选取先把控件整体规划好,再增加效果;也足以边筹算控件边增加效果(那代表上述手续中的第 3 步和第 4 步会掺杂起来做)。

    2 tkinter 种种控件的施用

    此地球科学的也相当少,用的tkinter是python自带的三个GUI编制程序,给出一些GUI资料。当时也是三只碰过来的,未有开始展览深切的讨论,

    此地罗列一些tkinter模块常用参数(python3)

    1、使用tkinter.Tk() 生成主窗口(root=tkinter.Tk());
    root.title('标题名')      修改框体的名字,也可在创设时采取className参数来命名;
    root.resizable(0,0)      框体大小可调性,分别表示x,y方向的可变性;
    root.geometry('250x150')  钦赐主框体大小;
    root.quit()         退出;
    root.update_idletasks()
    root.update()      刷新页面;

    2、初级样例:

    import tkinter
    root=tkinter.Tk() #生成root主窗口
    label=tkinter.Label(root,text='Hello,GUI') #浮动标签
    label.pack() #将标签增多到主窗口
    button1=tkinter.Button(root,text='Button1') #生成button1
    button1.pack(side=tkinter.LEFT) #将button1添加到root主窗口 button2=tkinter.Button(root,text='Button2')
    button2.pack(side=tkinter.RIGHT)
    root.mainloop() #跻身音讯循环(必需组件)

    3、tkinter中的15种为主零部件:

    Button   按钮;
    Canvas   绘图形组件,能够在其间绘制图形;
    Checkbutton 复选框;
    Entry    文本框(单行);
    Text 文本框(多行);
    Frame   框架,将多少个零部件组成一组
    Label    标签,能够来得文字或图片;
    Listbox    列表框;
    Menu    菜单;
    Menubutton 它的效果与利益完全能够行使Menu代替;
    Message 与Label组件类似,可是足以依据自家大小将文本换行;
    Radiobutton 单选框;
    Scale    滑块;允许通过滑块来设置一数字值
    Scrollbar 滚动条;合作使用canvas, entry, listbox, and text窗口部件的正式滚动条;

    Toplevel         用来创建子窗口窗口组件。
    

    (在Tkinter中窗口部件类未有分别;全部的窗口部件类在树中都以兄弟。)

    4、组件的停放和排版(pack,grid,place)

    pack组件设置岗位属性参数:
    after:     将零件置于别的零件之后;
    before:    将零件置于其余零件之前;
    anchor:    组件的对齐方式,顶对齐'n',底对齐's',左'w',右'e'
    side:     组件在主窗口的地点,可认为'top','bottom','left','right'(使用时tkinter.TOP,tkinter.E);
    fill 填充格局 (Y,垂直,X,水平)
    expand 1可扩充,0不可扩充
    grid组件使用行列的终南捷径放置组件的岗位,参数有:
    column: 组件所在的列伊始地方;
    columnspam: 组件的列宽;
    row:    组件所在的行起初地点;
    rowspam:   组件的行宽;
    place组件能够一向动用坐标来放置组件,参数有:
    anchor:    组件对齐格局;
    x:     组件左上角的x坐标;
    y:    组件右上角的y坐标;

    relx:          组件相对于窗口的x坐标,应为0-1之间的小数;
    rely:           组件相对于窗口的y坐标,应为0-1之间的小数;
    width:          组件的宽度;
    heitht:        组件的高度;
    relwidth:       组件相对于窗口的宽度,0-1;
    relheight:     组件相对于窗口的高度,0-1;
    

    5、使用tkinter.Button时间调控制开关的参数:

    anchor:      钦赐按键上文本的职分;
    background(bg)   钦赐开关的背景观;
    bitmap:      钦定开关上突显的位图;
    borderwidth(bd)    钦定开关边框的上升的幅度;
    command:       钦赐开关音讯的回调函数;
    cursor:     钦赐鼠标移动到按键上的指针样式;
    font:    钦点开关上文本的字体;
    foreground(fg)     钦命开关的前景观;
    height:     钦命开关的冲天;
    image:      内定开关上出示的图纸;
    state:     钦定开关的状态(disabled);
    text:     内定开关上展现的文书;
    width:      钦定按键的宽窄
    padx      设置文本与开关边框x的离开,还应该有pady;
    activeforeground    按下时前景象
    textvariable    可变文本,与StringVar等合营着用

    6、文本框tkinter.Entry,tkinter.Text调节参数:

    background(bg)    文本框背景观;
    foreground(fg) 前景色;
    selectbackground   选定文本背景象;
    selectforeground   选定文本前景象;
    borderwidth(bd)   文本框边框宽度;
    font  字体;
    show    文本框呈现的字符,若为*,表示文本框为密码框;
    state    状态;
    width      文本框宽度
    textvariable    可变文本,与StringVar等协作着用

    7、标签tkinter.Label组件调整参数:

    Anchor     标签中文本的岗位;
    background(bg)    背景色;
    foreground(fg)   前景色;
    borderwidth(bd)   边框宽度;
    width      标签宽度;
    height     标签中度;
    bitmap     标签中的位图;
    font    字体;
    image      标签中的图片;
    justify     多行文本的对齐方式;
    text        标签中的文本,能够动用'n'表示换行
    textvariable     呈现文本自动更新,与StringVar等合作着用

    8、单选框和复选框Radiobutton,Checkbutton调整参数:

    anchor   文本地点;
    background(bg)   背景色;
    foreground(fg) 前景色;
    borderwidth 边框宽度;
    width    组件的宽度;
    height    组件高度;
    bitmap    组件中的位图;
    image    组件中的图片;
    font    字体;
    justify    组件中多行文本的对齐格局;
    text    内定组件的文书;
    value    钦命组件被选中中涉及变量的值;
    variable   钦赐组件所关联的变量;
    indicatoron 特殊调整参数,当为0时,组件会被绘制作而成按键格局;
    textvariable 可变文本呈现,与StringVar等异常着用

    9、组图组件Canvas调整参数

    background(bg)    背景色;
    foreground(fg) 前景色;
    borderwidth     组件边框宽度;
    width      组件宽度;
    height    高度;
    bitmap    位图;
    image      图片;
    绘制的办法首要以下三种:
    create_arc 圆弧;
    create_bitmap    绘制位图,协理XBM;
    create_image    绘制图片,支持GIF(x,y,image,anchor);
    create_line 绘制支线;
    create_oval; 绘制椭圆;
    create_polygon   绘制多边形(坐标依次罗列,不用加括号,还会有参数,fill,outline);
    create_rectangle   绘制矩形((a,b,c,d),值为左上角和右下角的坐标);
    create_text 绘制文字(字体参数font,);
    create_window   绘制窗口;
    delete   删除绘制的图形;
    itemconfig 修改图形属性,第三个参数为图形的ID,后面为想修改的参数;
    move    移动图像(1,4,0),1为图像对象,4为横移4像素,0为纵移像素,然后用root.update()刷新就可以知到图像的移动,为了使多次平移变得可视,最佳增加time.sleep()函数;
    只要用create_格局画了贰个图形,就能自动再次来到一个ID,创造三个图片时将它赋值给一个变量,需求ID时就能够利用那些变量名。
    coords(ID) 再次回到对象的岗位的多少个坐标(4个数字元组);

    对此开关组件、菜单组件等得以在创制组件时经过command参数内定其事件管理函数。方法为bind;也许用bind_class方法进行类绑定,bind_all方法将享有组件事件绑定到事件响应函数上。

    10、菜单Menu

    参数:
    tearoff   分窗,0为在原窗,1为点击分为三个窗口
    bg,fg    背景,前景
    borderwidth   边框宽度
    font 字体
    activebackgound 点击时背景,同样有activeforeground,activeborderwidth,disabledforeground
    cursor
    postcommand
    selectcolor   选中时背景
    takefocus
    title
    type
    relief

    方法:
    menu.add_cascade 增添子选项
    menu.add_command 增多命令(label参数为展现内容)
    menu.add_separator 增加分隔线
    menu.add_checkbutton 增添确认开关
    delete 删除

    11、事件波及

    bind(sequence,func,add)——
    bind_class(className,sequence,func,add)
    bind_all(sequence,func,add)
    事件参数:  
    sequence         所绑定的事件;
    func        所绑定的事件管理函数;
    add        可选参数,为空字符或‘ ’;
    className          所绑定的类;

    鼠标键盘事件
    <Button-1>    鼠标左键按下,2象征中键,3象征右键;
    <ButtonPress-1>   同上;
    <ButtonRelease-1>    鼠标左键释放;
    <B1-Motion>    按住鼠标左键移动;
    <Double-Button-1>    双击左键;
    <Enter>    鼠标指针进入某一零件区域;
    <Leave>    鼠标指针离开某一零件区域;
    <MouseWheel>      滚动滚轮;
    <KeyPress-A>       按下A键,A可用别的键代替;
    <Alt-KeyPress-A>    同期按下alt和A;alt可用ctrl和shift代替;
    <Double-KeyPress-A>   快捷按两下A;
    新葡亰496net,<Lock-KeyPress-A>    大写状态下按A;

    新葡亰496nettkinter制作一个简单的中英文翻译exe文件,python之Tkinter控件学习。窗口事件
    Activate      当组件由不可用转为可用时接触;
    Configure      当组件大小退换时接触;
    Deactivate       当组件由可用调换为不可用时接触;
    Destroy      当组件被灭绝时接触;
    Expose      当组件从被屏蔽状态中原形毕露出来时接触;
    Unmap       当组件由呈现状态产生遮蔽状态时触发;
    Map      当组件由隐敝状态产生展现状态时触发;
    FocusIn       当组件获得主题时接触;
    FocusOut       当组件失去大旨时接触;
    Property      当窗体的习性被删去或更动时接触;
    Visibility     当组件变为可视状态时触发;

    响应事件
    event对象(def function(event)):
    char        按钮字符,仅对键盘事件使得;
    keycode         开关名,仅对键盘事件使得;
    keysym         按钮编码,仅对键盘事件使得;
    num       鼠标开关,仅对鼠标事件使得;
    type      所接触的事件类型;
    widget      引起平地风波的零部件;
    width,heigh       组件改变后的轻重缓急,仅Configure有效;
    x,y         鼠标当前职分,相对于窗口;
    x_root,y_root       鼠标当前职分,相对于一切显示屏

    12、弹窗

    messagebox._show函数的调整参数:
    default 钦赐消息框开关;
    icon 内定新闻框图标;
    message    钦定新闻框所展现的新闻;
    parent 内定新闻框的父组件;title 标题;
    type 类型;
    simpledialog模块参数:
    title 钦定对话框的标题;
    prompt  展现的文字;
    initialvalue 钦命输入框的开头值;
    filedialog    模块参数:
    filetype    内定文件类型;
    initialdir    钦点暗许目录;
    initialfile    钦命暗许文件;
    title     钦赐对话框标题
    colorchooser模块参数:
    initialcolor   钦赐初步化颜色;
    title  钦点对话框标题;

    13、字体(font)
    诚如格式:
    ('Times -10 bold')
    ('Times',10,'bold','italic') 依次表示字体、字号、加粗、倾斜

    补充:
    config 重新配置
    label.config(font='Arial -%d bold' % scale.get())
    逐个为字体,大小(大小可为字号大小),加粗
    tkinter.StringVar 能自动刷新的字符串变量,可用set和get方法开始展览传值和取值,类似的还大概有IntVar,DoubleVar...

    然后我把有道api跟tkinter相互结合,做了二个很丑然而效果健在的GUI有道。(难堪.big.png)

    贴上组成后最终的代码:

    # -*- coding: utf-8 -*-
    # @Time    : 2017/8/29 2:06
    # @Author  : 蛇崽
    # @Email   : 17193337679@163.com
    # @File    : SnakeSon_YouDao.py
    from tkinter import *
    import urllib.request
    import urllib.parse
    import time
    import random
    import hashlib
    import json
    headers = {}
    headers['Referer']='http://fanyi.youdao.com/'
    headers['User-Agent']='Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.108 Safari/537.36 2345Explorer/8.7.0.16013'
    
    
    flag = True
    class App(Frame):
        def __init__(self, master=None):
            Frame.__init__(self, master)
            self.pack()
            self.entrythingy = Entry(self)
            self.entrythingy.pack()
    
            self.button = Button(self, text="翻  译",width =40,height=2,
                                 command=self.upper)
            self.button.pack(side='bottom',padx=5,pady=5)
    
    
            self.contents = StringVar()
            self.contents.set("中英文互换")
            self.entrythingy.config(textvariable=self.contents)
    
            self.entrythingy.bind('<Key-Return>', self.print_contents)
    
    
        def upper(self):
            strcontent = self.contents.get()
            timestamp = int(time.time() * 1000)   random.randint(0, 10)
            d = strcontent
            u = "fanyideskweb"
            f = str(timestamp)
            c = "rY0D^0'nM0}g5Mm1z%1G4"
            sign = hashlib.md5((u   d   f   c).encode('utf-8')).hexdigest()
            data = {
                'i': d,
                'from': 'AUTO',
                'to': 'AUTO',
                'smartresult': 'dict',
                'client': 'fanyideskweb',
                'salt': timestamp,
                'sign': sign,
                'doctype': 'json',
                'version': '2.1',
                'keyfrom': 'fanyi.web',
                'action': 'FY_BY_CLICK',
                'typoResult': 'true'
            }
            data = urllib.parse.urlencode(data).encode('utf-8')
            request = urllib.request.Request(
                url='http://fanyi.youdao.com/translate_o?smartresult=dict&smartresult=rule&sessionFrom=https://www.google.com/',
                method='POST', data=data, headers=headers)
    
            response = urllib.request.urlopen(request)
            result_str = response.read().decode('utf-8')
            result_dict = json.loads(result_str)
            finaleData = result_dict["translateResult"][0][0]['tgt']
    
            self.contents.set(finaleData)
            print('输入内容是:' str(strcontent))
            print('输出内容是: ----->: ', self.contents.get())
    
        def print_contents(self, event):
            print("原内容是: ---->:", self.contents.get())
    
    def about():
        print('hahfd')
    
    def start_main():
        print('佛祖初始化.....................................')
        print("                   _ooOoo_n")
        print("                  o8888888on")
        print("                  88" . "88n")
        print("                  (| -_- |)n")
        print("                  O\  =  /On")
        print("               ____/`---'\____n")
        print("             .'  \\|     |//  `.n")
        print("            /  \\|||  :  |||//  \ n")
        print("           /  _||||| -:- |||||-  \ n")
        print("           |   | \\\  -  /// |   |n")
        print("           | \_|  ''\---/''  |   |n")
        print("           \  .-\__  `-`  ___/-. /n")
        print("         ___`. .'  /--.--\  `. . __n")
        print("      ."" '<  `.___\_<|>_/___.'  >'"".n")
        print("     | | :  `- \`.;`\ _ /`;.`/ - ` : | |n")
        print("     \  \ `-.   \_ __\ /__ _/   .-` /  /n")
        print("======`-.____`-.___\_____/___.-`____.-'======n")
        print("                   `=---='n")
        print("^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^n")
        print('佛祖启动成功....................................')
        print("     tt佛祖保佑                      永无BUGn")
        print('###############################    蛇崽有道翻译小词典   ###################################n')
        print('######   温馨提示[1]:  使用时,Windos系统DOS窗口请不要关闭                                 n')
        print('######   温馨提示[2]:  若软件输出内容错误, 请不要惊慌,联系方式:QQ  643435675      n')
        print('######   温馨提示[3]:  本软件纯属学习使用,请勿作为商用                             n')
        print('######   本软件源码请访问:<p>http://www.jianshu.com/c/8d71ae9d3718</p>            n ')
        print('#########################################################################################n')
        root = App()
        root.master.title("有道简便翻译器")
        root.mainloop()
    
    if __name__ == '__main__':
        start_main()
    

    立即间倍感吹捧很low,额鹅鹅鹅,因为前边本人也是异常的小白,总觉着.exe文件很伟大上,再拉长能从黑窗口输出内容,更牛掰了。哎,

    那正是怎么把有道API结合thinker举行GUI查单词,然后还不剩下最终一步:
    打包成.exe文件

    from tkinter import *

    控件可以独立存在,也能够看做容器存在。假设贰个控件富含别的控件,就能够将其感觉是那个控件的父控件。相应地,即便二个控件被其余控件富含,则将其认为是那个控件的子控件,而父控件正是下二个直接包围它的器皿控件。

    说到来,那些的确有一些坎坷

    因为本身用的第一手是pycharm,非常多三方引用库都是从pycharm中一向导入进去的,导致用pip的时候用的不熟悉,用的也是少了吗。

    root=Tk() #转移二个根窗口

    一般性,控件有部分城门失火的作为,比如按下按键、将文件写入文本框等。那个用户作为称为事件,而 GUI 对那类事件的响应称为回调。

    3 用PyInstaller生成.exe可实施文件

    先是把pip配置好,这里作者是直接配置到景况变量里面去了的,所以引进PyInstaller的话,能够一贯动用命令:pip install PyInstaller

    新葡亰496net 43

    pip引入PyInstaller

    此间笔者一度引进了PyInstaller库了,所以,大家可以张开下一步,
    调用命令:

    pyinstaller -F C:UsersAdministratorPycharmProjectsPyStudyYouDaoPyGUI3.py

    最后会冒出成功的字样:

    55605 INFO: checking EXE
    55627 INFO: Building EXE because out00-EXE.toc is non existent
    55644 INFO: Building EXE from out00-EXE.toc
    55664 INFO: Appending archive to EXE C:UsersAdministratordistPyGUI3.exe
    55694 INFO: Building EXE from out00-EXE.toc completed successfully.
    

    新葡亰496net 44

    PyInstaller生成可奉行文件的渠道

    贴一下笔者pip PyInstaller 何况经过PyInstaller 命令生成.exe可实行文件的Dos命令行内容:

    Microsoft Windows [版本 10.0.14393]
    (c) 2016 Microsoft Corporation。保留所有权利。
    
    C:UsersAdministrator>python
    Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> python setup.py install
      File "<stdin>", line 1
        python setup.py install
                   ^
    SyntaxError: invalid syntax
    >>> pip openssl
      File "<stdin>", line 1
        pip openssl
                  ^
    SyntaxError: invalid syntax
    >>> python setup.py openssl
      File "<stdin>", line 1
        python setup.py openssl
                   ^
    SyntaxError: invalid syntax
    >>> exit()
    
    C:UsersAdministrator>python
    Python 3.5.2 (v3.5.2:4def2a2901a5, Jun 25 2016, 22:18:55) [MSC v.1900 64 bit (AMD64)] on win32
    Type "help", "copyright", "credits" or "license" for more information.
    >>> 1 1
    2
    >>> exit()
    
    C:UsersAdministrator>pip
    
    Usage:
      pip <command> [options]
    
    Commands:
      install                     Install packages.
      download                    Download packages.
      uninstall                   Uninstall packages.
      freeze                      Output installed packages in requirements format.
      list                        List installed packages.
      show                        Show information about installed packages.
      check                       Verify installed packages have compatible dependencies.
      search                      Search PyPI for packages.
      wheel                       Build wheels from your requirements.
      hash                        Compute hashes of package archives.
      completion                  A helper command used for command completion.
      help                        Show help for commands.
    
    General Options:
      -h, --help                  Show help.
      --isolated                  Run pip in an isolated mode, ignoring
                                  environment variables and user configuration.
      -v, --verbose               Give more output. Option is additive, and can be
                                  used up to 3 times.
      -V, --version               Show version and exit.
      -q, --quiet                 Give less output. Option is additive, and can be
                                  used up to 3 times (corresponding to WARNING,
                                  ERROR, and CRITICAL logging levels).
      --log <path>                Path to a verbose appending log.
      --proxy <proxy>             Specify a proxy in the form
                                  [user:passwd@]proxy.server:port.
      --retries <retries>         Maximum number of retries each connection should
                                  attempt (default 5 times).
      --timeout <sec>             Set the socket timeout (default 15 seconds).
      --exists-action <action>    Default action when a path already exists:
                                  (s)witch, (i)gnore, (w)ipe, (b)ackup, (a)bort.
      --trusted-host <hostname>   Mark this host as trusted, even though it does
                                  not have valid or any HTTPS.
      --cert <path>               Path to alternate CA bundle.
      --client-cert <path>        Path to SSL client certificate, a single file
                                  containing the private key and the certificate
                                  in PEM format.
      --cache-dir <dir>           Store the cache data in <dir>.
      --no-cache-dir              Disable the cache.
      --disable-pip-version-check
                                  Don't periodically check PyPI to determine
                                  whether a new version of pip is available for
                                  download. Implied with --no-index.
    
    C:UsersAdministrator>pip install PyInstaller
    Collecting PyInstaller
    Requirement already satisfied: setuptools in c:usersadministratorappdatalocalprogramspythonpython35libsite-packages (from PyInstaller)
    Collecting future (from PyInstaller)
    Installing collected packages: future, PyInstaller
    Successfully installed PyInstaller-3.2.1 future-0.16.0
    
    C:UsersAdministrator>pyinstaller
    usage: pyinstaller [-h] [-v] [-D] [-F] [--specpath DIR] [-n NAME]
                       [--add-data <SRC;DEST or SRC:DEST>]
                       [--add-binary <SRC;DEST or SRC:DEST>] [-p DIR]
                       [--hidden-import MODULENAME]
                       [--additional-hooks-dir HOOKSPATH]
                       [--runtime-hook RUNTIME_HOOKS] [--exclude-module EXCLUDES]
                       [--key KEY] [-d] [-s] [--noupx] [-c] [-w]
                       [-i <FILE.ico or FILE.exe,ID or FILE.icns>]
                       [--version-file FILE] [-m <FILE or XML>] [-r RESOURCE]
                       [--uac-admin] [--uac-uiaccess] [--win-private-assemblies]
                       [--win-no-prefer-redirects]
                       [--osx-bundle-identifier BUNDLE_IDENTIFIER]
                       [--distpath DIR] [--workpath WORKPATH] [-y]
                       [--upx-dir UPX_DIR] [-a] [--clean] [--log-level LEVEL]
                       [--upx UPX]
                       scriptname [scriptname ...]
    pyinstaller: error: the following arguments are required: scriptname
    
    C:UsersAdministrator>pyinstaller -F C:UsersAdministratorPycharmProjectsPyStudyYouDaoPyGUI3.py
    612 INFO: PyInstaller: 3.2.1
    612 INFO: Python: 3.5.2
    614 INFO: Platform: Windows-10-10.0.14393-SP0
    635 INFO: wrote C:UsersAdministratorPyGUI3.spec
    689 INFO: UPX is not available.
    722 INFO: Extending PYTHONPATH with paths
    ['C:\Users\Administrator\PycharmProjects\PyStudy\YouDao',
     'C:\Users\Administrator']
    748 INFO: checking Analysis
    803 INFO: Building Analysis because out00-Analysis.toc is non existent
    815 INFO: Initializing module dependency graph...
    860 INFO: Initializing module graph hooks...
    871 INFO: Analyzing base_library.zip ...
    7739 INFO: running Analysis out00-Analysis.toc
    8422 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python.exe
    8842 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python.exe
    9266 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python.exe
    9684 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python.exe
    10107 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python.exe
    10588 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    11174 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    11636 WARNING: lib not found: api-ms-win-crt-locale-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    12100 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    12551 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    12978 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    13414 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    13848 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    14329 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    14872 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    15428 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    15868 WARNING: lib not found: api-ms-win-crt-process-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    16315 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35VCRUNTIME140.dll
    16754 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35VCRUNTIME140.dll
    17188 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35VCRUNTIME140.dll
    17623 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35VCRUNTIME140.dll
    18093 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35VCRUNTIME140.dll
    18099 INFO: Caching module hooks...
    18128 INFO: Analyzing C:UsersAdministratorPycharmProjectsPyStudyYouDaoPyGUI3.py
    18693 INFO: Loading module hooks...
    18694 INFO: Loading module hook "hook-encodings.py"...
    19107 INFO: Loading module hook "hook-_tkinter.py"...
    19552 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    19983 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    20416 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    21168 INFO: checking Tree
    21169 INFO: Building Tree because out00-Tree.toc is non existent
    21186 INFO: Building Tree out00-Tree.toc
    21316 INFO: checking Tree
    21316 INFO: Building Tree because out01-Tree.toc is non existent
    21333 INFO: Building Tree out01-Tree.toc
    21388 INFO: Loading module hook "hook-xml.py"...
    21803 INFO: Loading module hook "hook-pydoc.py"...
    21872 INFO: Looking for ctypes DLLs
    21893 INFO: Analyzing run-time hooks ...
    21905 INFO: Including run-time hook 'pyi_rth__tkinter.py'
    21928 INFO: Looking for dynamic libraries
    22454 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    22923 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    23353 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    23789 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    24333 WARNING: lib not found: api-ms-win-crt-filesystem-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    24850 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    25424 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    25855 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    26269 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    26698 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ssl.pyd
    27216 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLsunicodedata.pyd
    27650 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLsunicodedata.pyd
    28096 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLsunicodedata.pyd
    28541 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ctypes.pyd
    28962 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ctypes.pyd
    29382 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_ctypes.pyd
    29825 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLspyexpat.pyd
    30274 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLspyexpat.pyd
    30736 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLspyexpat.pyd
    31159 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLspyexpat.pyd
    31605 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLspyexpat.pyd
    32061 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    32512 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    32952 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    33402 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    33841 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    34259 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    34774 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    35273 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    35709 WARNING: lib not found: api-ms-win-crt-conio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_hashlib.pyd
    36162 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLsselect.pyd
    36623 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_bz2.pyd
    37043 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_bz2.pyd
    37458 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_bz2.pyd
    37870 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_bz2.pyd
    38293 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_bz2.pyd
    38747 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_lzma.pyd
    39174 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_lzma.pyd
    39598 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_socket.pyd
    40058 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_socket.pyd
    40479 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    40894 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    41312 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLs_tkinter.pyd
    41777 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    42225 WARNING: lib not found: api-ms-win-crt-environment-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    42667 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    43115 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    43541 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    43953 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    44368 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    44896 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    45423 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstcl86t.dll
    45891 WARNING: lib not found: api-ms-win-crt-string-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    46338 WARNING: lib not found: api-ms-win-crt-stdio-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    46757 WARNING: lib not found: api-ms-win-crt-runtime-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    47181 WARNING: lib not found: api-ms-win-crt-utility-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    47592 WARNING: lib not found: api-ms-win-crt-time-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    48001 WARNING: lib not found: api-ms-win-crt-heap-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    48429 WARNING: lib not found: api-ms-win-crt-convert-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    48860 WARNING: lib not found: api-ms-win-crt-math-l1-1-0.dll dependency of c:usersadministratorappdatalocalprogramspythonpython35DLLstk86t.dll
    48892 INFO: Looking for eggs
    48892 INFO: Using Python library c:usersadministratorappdatalocalprogramspythonpython35python35.dll
    48909 INFO: Found binding redirects:
    []
    48947 INFO: Warnings written to C:UsersAdministratorbuildPyGUI3warnPyGUI3.txt
    49113 INFO: checking PYZ
    49113 INFO: Building PYZ because out00-PYZ.toc is non existent
    49131 INFO: Building PYZ (ZlibArchive) C:UsersAdministratorbuildPyGUI3out00-PYZ.pyz
    50238 INFO: Building PYZ (ZlibArchive) C:UsersAdministratorbuildPyGUI3out00-PYZ.pyz completed successfully.
    50265 INFO: checking PKG
    50266 INFO: Building PKG because out00-PKG.toc is non existent
    50281 INFO: Building PKG (CArchive) out00-PKG.pkg
    50351 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bitpython35.dll
    50353 INFO: Updating resource type 24 name 2 language 1033
    50423 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_ssl.pyd
    50424 INFO: Updating resource type 24 name 2 language 1033
    50468 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bitunicodedata.pyd
    50469 INFO: Updating resource type 24 name 2 language 1033
    50506 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_ctypes.pyd
    50507 INFO: Updating resource type 24 name 2 language 1033
    50542 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bitpyexpat.pyd
    50545 INFO: Updating resource type 24 name 2 language 1033
    50588 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_hashlib.pyd
    50589 INFO: Updating resource type 24 name 2 language 1033
    50623 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bitselect.pyd
    50624 INFO: Updating resource type 24 name 2 language 1033
    50653 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_bz2.pyd
    50659 INFO: Updating resource type 24 name 2 language 1033
    50693 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_lzma.pyd
    50696 INFO: Updating resource type 24 name 2 language 1033
    50729 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_socket.pyd
    50736 INFO: Updating resource type 24 name 2 language 1033
    50765 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bit_tkinter.pyd
    50775 INFO: Updating resource type 24 name 2 language 1033
    50852 INFO: Updating manifest in C:UsersAdministratorAppDataRoamingpyinstallerbincache00_py35_64bittk86t.dll
    50854 INFO: Updating resource type 24 name 1 language 1033
    55508 INFO: Building PKG (CArchive) out00-PKG.pkg completed successfully.
    55605 INFO: Bootloader c:usersadministratorappdatalocalprogramspythonpython35libsite-packagesPyInstallerbootloaderWindows-64bitrun.exe
    55605 INFO: checking EXE
    55627 INFO: Building EXE because out00-EXE.toc is non existent
    55644 INFO: Building EXE from out00-EXE.toc
    55664 INFO: Appending archive to EXE C:UsersAdministratordistPyGUI3.exe
    55694 INFO: Building EXE from out00-EXE.toc completed successfully.
    
    C:UsersAdministrator>
    

    以上正是总体了。

    看一下可实践文件的姿首吧:

    新葡亰496net 45

    这正是老大dos窗口加小应用窗口

    dos窗口是专程放大的,⁄(⁄ ⁄•⁄ω⁄•⁄ ⁄)⁄,

    textLabel=Label(root,text='我是一个皮卡丘,n天天小编都乐观欢畅',justify=LEFT,padx=10)#textLabel是一个Label对象

    当有着控件摆放好后,能够让使用步向前述的特别主循环中。在 tkinter 中,代码如下所示。

    是或不是小的GUI窗口查单词很方便,直接调用的有道API,无毒,无广告,源码还开放,哈哈哈(路人懵逼五分钟.jpg)

    小程序已上传Github: https://github.com/643435675/PyStudy

    参考:
    有道词典API:
    http://www.jianshu.com/p/5001c75a23c4
    PyInstaller生成EXE文件:
    http://www.cnblogs.com/aland-1415/p/7112977.html
    tkinter简单GUI基础:
    http://www.cnblogs.com/aland-1415/p/6849193.html

    textLabel.pack(side=LEFT) #将label对象活动打包一下技艺观察,放在根窗口的左臂,並且安装文字左对齐,边距padx等于10

    tkinter.mainloop()

    photo=PhotoImage(file='timg.gif')#phtot是一个PhotoInage对象

    貌似这是程序运转的最终一段代码。当步入主循环后,GUI 就从此间开端接管程序的实施。全体别的表现都会通过回调来拍卖,以至富含退出应用。当选取File 菜单并单击 Exit 菜单选项,大概间接关闭窗口时,就能调用叁个回调函数来终止这一个 GUI 应用。

    imageLabel=Label(root,image=photo)#image也是贰个label对象

    顶层窗口:tkinter.Tk()

    imageLabel.pack(side=RIGHT)#把miagelabel那几个label打包放到根窗口侧面

    该目的在 tkinter 中动用 Tk类举行创办,然后实行如下实例化:

    mainloop()

    >>> import tkinter

    2)图像和文字一体

    >>> top = tkinter.Tk()

    from tkinter import *

    在那个窗口中,能够停放独立的控件,也能够将八个零部件拼凑在一块儿来构成 GUI 程序。

    root=Tk()

    一对常用的Tk控件

    photo=PhotoImage(file='timg.gif')

    新葡亰496net 46

    theLabel=Label(root,text='haha',justify=LEFT,image=photo,compound=CENTER,fg='blue')

    暗许值是您最棒的爱人

    theLabel.pack()

      GUI 开拓应用了 Python 的默许参数,因为 Tkinter 的控件中有过多暗中同意行为。除非你十二分清楚本身所采纳的每一种控件的种种可用选项的用法,不然最棒依然只关切你要设置的那三个参数,而让系统去管理剩下的参数。这几个默许值都以精心采抽出来的。尽管未有提供这几个值,也不用担忧应用程序在显示屏上的显得会有如何难题。作为一条基本法规,程序是由一多级优化后的暗许参数创制的,只有当您领会哪些正确定制你的控件时,才应该利用非暗中同意值。

    mainloop()

    Label 控件

    3)按钮

    新葡亰496net 47

    from tkinter import *

     输出效果

    def callback():

    新葡亰496net 48

       var.set('吹吧你就 笔者才不信')

    Button 控件

    root=Tk()

    新葡亰496net 49

    frame1=Frame(root)

     输出效果

    frame2=Frame(root)

    新葡亰496net 50

    var=StringVar()

    Label 和 Button 控件

    var.set('你实在是皮卡丘?')

    重组了地点八个案例,既包括Label标签又包罗Button按键

    textLabel=Label(frame1,textvariable=var,justify=LEFT)

    新葡亰496net 51

    textLabel.pack(side=LEFT)

     输出效果

    photo=PhotoImage(file='timg.gif')

    新葡亰496net 52

    imageLabel=Label(frame1,image=photo)

    Label、Button 和 Scale 控件

    imageLabel.pack(side=RIGHT)

    新葡亰496net 53

    theButton=Button(frame2,text='鲜明请进',command=callback)

     输出效果

    theButton.pack()

    新葡亰496net 54

    frame1.pack(padx=10,pady=10)

    偏函数应用示范

    frame2.pack(padx=10,pady=10)

      本例中校使用交通路标来拓表身先士卒,在该选用中大家会尝试创立文字版本的路标,并将其依照标记类型实行区分,举个例子严重、警告、公告等(就好像日志品级那样)。标识类型决定了制造时的颜料方案。举例,严重等第标记是白底红字,警告等第标记是黄底黑字,文告(即规范品级)标识是白底黑字。在此地,“Do Not Enter”和“Wrong Way”标识属于严重品级,“Merging Traffic”和“Railroad Crossing”属于警告等级,而“Speed Limit”和“One Way”属于规范等第。

    mainloop()

    import functools

    浅析如下:

    import tkinter

    概念函数callback,完毕点击按键时候接触

    import tkinter.messagebox # 消息框

    扭转二个弹窗对象root root=Tk()

    WARN = 'warn'

    将弹窗对象划分为两有些:frame1=Frame(root)  frame2=Frame(root)

    CRIT = 'crit'

    概念三个字符串对象var  var=StringVar()

    REGU = 'regu'

    选用var对象的set方法给var赋值,同期callback函数中也使用那么些改换var,那个var会用来体现再文本区

    SIGNS = {'do not enter': CRIT,

    概念第三个label对象用来体现文本,再frame1区域中:textLabel=label(frame1.textvariable=var,justify=LEFT)

             'railroad crossing': WARN,

    概念第贰个label对象用来突显图片,在frame1区域中 imageLabel=Label(frame1,image=photo)

             '55nspeed limit': REGU,

    概念多少个图形对象photo

             'wrong way': CRIT,

    概念二个Button对象 theButton=Button(frame2,text='xxx',command=callback)

             'merging traffic': WARN,

    标签对象、区域对象都急需pack一下

             'one way': REGU, }

    4)checkbutton组件 多选框

    critCB = lambda: tkinter.messagebox.showerror('Error', 'Error Button Pressed!') # lambda表明式,定义了多少个函数...重回值

    测量检验一下:

    warnCB = lambda: tkinter.messagebox.showwarning('Warning', 'Warning Button Pressed!')

    from tkinter import *

    infoCB = lambda: tkinter.messagebox.showinfo('Info', 'Info Button Pressed!')

    root=Tk()#多个根弹窗对象

    top = tkinter.Tk()

    v=IntVar() #TK变量,用来表示按键是还是不是被选中

    top.title("Road Signs") # 设置题目

    c=Checkbutton(root,text='ceshi',variable=v)#七个checkbutton对象,在那之中variable值等于v,用来代表开关是还是不是被按下

    tkinter.Button(top, text='QUIT', command=top.quit, bg='red', fg='white').pack() # 成立多个quit开关

    c.pack()

    # 模板化Button类和根窗口top

    l=Label(root,textvariable=v)#label中text这么些值倘使是个变量则用textvariable

    # 每便调用my_button时,他就可以调用Button类(tkinter.Button()会创立二个开关),

    l.pack()

    # 并将top作为它的率先个参数,我们将其冻结为my_button

    mainloop()

    my_button = functools.partial(tkinter.Button, top)

    正式案例:

    crit_button = functools.partial(my_button, command=critCB, bg='white', fg='red')

    from tkinter import *

    warn_button = functools.partial(my_button, command=warnCB, bg='#b8860b')

    root=Tk()#多少个根弹窗对象

    regu_button = functools.partial(my_button, command=infoCB, bg='white')

    GIRLS=['A','B','C','D']

    # 当用户创造一个严重类型的开关 crit_button 时(举个例子通过调用crit_button()),

    v=[]

    # 它就能调用满含适当的开关回调函数、前景象和背景观的 my_button,

    for girl in GIRLS:

    # 恐怕说使用 top、回调函数和颜料那多少个参数去调用 Button

       v.append(IntVar())

    for eachsign in SIGNS:

       b=Checkbutton(root,text=girl,variable=v[-1])

        # eachsign == key

       b.pack()

        signtype = SIGNS[eachsign] # 拿到value

    mainloop()

        # signtype == value

    5)radiobutton组件 单选框

        cmd = '%s_button(text=%r%s).pack(fill=tkinter.X,expand=True)' % (signtype, eachsign,

    from tkinter import *

                                                                         '.upper()' if signtype == CRIT else '.title()')

    root=Tk()#二个根弹窗对象

        # 假使出口的是惨恻等级,大家用upper()将他更改为题写

    v=IntVar()

        # print(cmd)

    Radiobutton(root,text='one',variable=v,value=1).pack() #当改按键被点,则将value的值给v,variable的值与value相比较,同样则被入选

        eval(cmd) # 各样按键会通过 eval()函数举行实例化

    Radiobutton(root,text='two',variable=v,value=2).pack()

        # 因为cmd输出的是字符串,eval()将字符串str当成有效的表明式来求值并赶回总计结果

    Radiobutton(root,text='three',variable=v,value=3).pack()

    top.mainloop()

    mainloop()

     输出效果

    优化如下:

    新葡亰496net 55

    from tkinter import *

    新葡亰496net 56

    root=Tk()#三个根弹窗对象

    新葡亰496net 57

    yuyan=[('a',1),('b',2),('c',3)]

    v=IntVar()

    v.set('1')

    for yu,num in yuyan:

       b=Radiobutton(root,text=yu,variable=v,value=num)

       b.pack()

    mainloop()

    6)labelframe组件 标签框架 是frame对象的升官

    from tkinter import *

    root=Tk()#三个根弹窗对象

    group=LabelFrame=(root,text='aha',padx=5,pady=5)

    group.pack()

    yuyan=[('a',1),('b',2),('c',3)]

    v=IntVar()

    for yu,num in yuyan:

       b=Radiobutton(group,text=yu,variable=v,value=num)

       b.pack()

    mainloop()

    本文由新葡亰496net发布于奥门新萄京娱乐场,转载请注明出处:新葡亰496nettkinter制作一个简单的中英文翻译exe文

    关键词: