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()
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()
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++替代应用开发语言。