Python内建GUI模块Tkinter

Python主窗口

Python特定的GUI界面,是一个图像的窗口,tkinter是python自带的,可以编辑的GUI界面,我们可以用GUI实现很多一个直观的功能,如何想开发一个计算器,如果只是一个程序输入,输出窗口的话,是没用用户体验的。所有开发一个图像化的小窗口,就是必要的。

#coding=utf-8
import Tkinter as tk
def create_windows(fun):
    def only_windows():
        #第1步,建立窗口windows
        windows = tk.Tk()
        #第2步,给窗口的可视化起名字
        windows.title("ryan")
        #第三步,设定窗口的大小(长x宽)
        windows.geometry("200x200")
        #窗口大小是否可调,分别表示x,y方向的可变性:1表示可变,0表示不可变
        windows.resizable(1,1)
        #刷新页面
        windows.update()
        #内建带参数的装饰器
        fun(windows)
        #进入消息循环(必须步骤)
        windows.mainloop()
    return only_windows
@create_windows
def decorate_fun(windows):
    pass
decorate_fun()
1、无核心组件的窗口
import Tkinter as tk
import os,datetime
def create_windows(fun):
    def only_windows():
        windows = tk.Tk()
        windows.title("ryan")
        windows.resizable(1,1)
        windows.geometry("200x200")
        windows.update()
        fun(windows)
        windows.mainloop()
    return only_windows
@create_windows
def decorate_fun(windows):
    in_put = tk.Entry(windows)
    in_put.pack()
    out_put = tk.Text(windows,height=4)
    out_put.pack()
    def inner_put():
        var = in_put.get()
        files = eval(var)
        out_put.delete("1.0",tk.END)
        out_put.insert("insert", files)
    click_button = tk.Button(windows,text="insert",command=inner_put)
    click_button.pack()
decorate_fun()
2、有核心组件的窗口

 

 

Python核心组件

1、Button 按钮组件:一个简单的按钮,用来执行一个命令或别的操作。

参数解析:

  text:指定按钮上显示的文本;

  anchor: 指定按钮上文本的位置(N, NE, E, SE, S, SW, W, NW, or CENTER);

  borderwidth(bd): 指定按钮边框的宽度;

  foreground(fg): 指定按钮的前景色;

  background(bg): 指定按钮的背景色;

  activeforeground: 按下时前景色

  activebackground: 按下时背景色

  font: 指定按钮上文本的字体;

  height: 指定按钮的高度;

  width: 指定按钮的宽度

  command: 指定按钮消息的回调函数;

  cursor: 指定鼠标移动到按钮上的指针样式(heart,dot,cross,plus,spider,star);

  state: 指定按钮的状态(disabled,normal,active);

2、Radiobutton 单选框:代表一个变量,它可以有多个值中的一个。点击它将为这个变量设置值,并且清除与这同一变量相关的其它radiobutton。

参数解析:

  anchor: 文本位置;

  background(bg): 背景色; 

  foreground(fg): 前景色;

  borderwidth: 边框宽度;

  width: 组件的宽度; 

  height: 组件高度;

  bitmap: 组件中的位图;

  image: 组件中的图片;

  font: 字体;

  justify: 组件中多行文本的对齐方式;

  text: 指定组件的文本;

  value: 指定组件被选中中关联变量的值;

  variable: 指定组件所关联的变量;

  indicatoron: 特殊控制参数,当为0时,组件会被绘制成按钮形式;       

  textvariable: 可变文本显示,与StringVar等配合着用

1、tkinter是python自带的GUI模块。

IDLE就是通过这个模块开发的。如果你在安装python后使用了自己的IDLE,你应该知道它。

2、guieasy模块对Tkinter进行了二次封装。

GUI操作变得更简单,但也局限于表面使用。

3、wxpython是流行的跨平台GUI工具包。

包装wxWidgets(用C++编写)。wxPythonAPI的主要模块包括核心模块。

wxpython的优点是运行速度快,但写作复杂,界面美化效果差…

4、PYQT5是跨平台的C++库。

无论是C,Java还是Python,都可以通过它来开发GUI界面。PyQt5是Qtv5的全面Python绑定。它实现了35个以上的扩展模块,使Python能够在所有支持的平台(包括iOS和Android)上用作C++替代应用开发语言。

posted @ 2019-03-29 17:38  Einewhaw  阅读(371)  评论(0编辑  收藏  举报