图形界面,也就是常说的,GUI,指用图形显示用户界面
python提供了集中GUI开发的库,现在我是用的是 Tkinter
Python3.x 版本使用的库名为 tkinter,即首写字母 T 为小写。
Tkinter 组件
Tkinter的提供各种控件,如按钮,标签和文本框,一个GUI应用程序中使用。这些控件通常被称为控件或者部件。
目前有15种Tkinter的部件。(百度)关于thinter详情看如下:
http://www.360doc.com/content/12/0922/02/3234041_237501315.shtml
引用tkinter,引用有几种方法,如下
一:这种方法也只能用以下的方法通过,其他的不能通过
from tkinter import *
root = Tk()
root.title("hello world")
root.mainloop()
二:import tkinter 这种方法也能用这种通过,上面的也不行
# -*- coding: UTF-8 -*-
import tkinter
root = tkinter.Tk()
三:对于Tkinter的导入,更标准的方法是 import Tkinter as tk
相关知识
- title: 设置窗口标题
- 设置窗口大小
- .resizable(False,False)
re表示重新 siz表示size/大小 able能够
串起来就是是否能够重新设置大小,对应的是窗口的宽度和高度是否能够伸缩调整。True则可以,False不可以。 - (2)Window.minsize(300,600)
min表示最小 size表示大小
串起来就是最小的大小,也就是如果上面设置了宽或高可以调整,那么宽或高最小能调整到哪里呢?就是用这个设置了。Window.maxsize(600,1200)这是宽度和高度可以调整的最大值 - (3)我们想启动的时候调整窗口的位置,怎么办呢?可以用这个了:
Window.geometry("300x600+120+100")
300x600表示窗口的宽度与高度 与第二节的 ['width']/['height'] 属性作用相同
120+100表示在桌面(120,100)这个坐标放置窗口(坐标为窗口的左上角),在windows系统下我们可以通过pywin32库调用相应api获取桌面坐标值,达到窗口放到桌面中心位置的效果。 - resizable():设置窗口是否可以变化长 宽
# -*- coding: UTF-8 -*-
from tkinter import *
root = Tk()
#标题
root.title("hello world")
#大小
root.minsize(300,300)
root.resizable(width=False,height=True)
root.mainloop()
几个控件的用法
1:Label
用法
Label(根对象, [属性列表])
属性
- text 要现实的文本
- bg 背景颜色
- font 字体(颜色, 大小)
- width 控件宽度
- height 控件高度
# -*- coding: UTF-8 -*-
from tkinter import *
root = Tk()
#标题
root.title("hello world")
#大小
root.minsize(300,300)
root.resizable(width=True,height=True)
w = Label(root,text="hello world",bg="red",font=(12))
w.pack(side=LEFT)
root.mainloop()
2 :Frame
说明
在屏幕上创建一块矩形区域,多作为容器来布局窗体
用法
Frame(根对象, [属性列表])
3: Entry
说明
创建单行文本框
用法
- 创建:lb =Entry(根对象, [属性列表])
- 绑定变量 var=StringVar() lb=Entry(根对象, textvariable = var)
- 获取文本框中的值 var.get()
- 设置文本框中的值 var.set(item1)
4 :Text
说明
向该空间内输入文本
用法
t = Text(根对象)
插入:t.insert(mark, 内容)
删除:t.delete(mark1, mark2)
其中,mark可以是行号,或者特殊标识,例如
- INSERT:光标的插入点CURRENT:鼠标的当前位置所对应的字符位置
- END:这个Textbuffer的最后一个字符
- SEL_FIRST:选中文本域的第一个字符,如果没有选中区域则会引发异常
- SEL_LAST:选中文本域的最后一个字符,如果没有选中区域则会引发 异常
5: 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