您的位置:首页 > 编程语言 > Python开发

python GUI编程(Tkinter)简单使用

2017-05-02 09:56 776 查看
在界面中很重要的是布局,一开始在查找的的时候网上有很多都是下面这样:

# -*- coding: utf-8 -*-
from Tkinter import *

root = Tk()
# 设置位置窗体长x宽+x坐标+y坐标
root.geometry('80x80+10+10')

# 填充方向
'''
Label(root, text = 'l1', bg = 'red').pack(fill = Y)
Label(root, text = 'l2', bg = 'green').pack(fill = BOTH)
Label(root, text = 'l3', bg = 'blue').pack(fill = X)

# 左右布局
Label(root, text = 'l1', bg = 'red').pack(fill = Y, side = LEFT)
Label(root, text = 'l2', bg = 'green').pack(fill = BOTH, side = RIGHT)
Label(root, text = 'l3', bg = 'blue').pack(fill = X, side = LEFT)

# 绝对布局
l4 = Label(root, text = 'l4')
l4.place(x = 3, y = 3, anchor = NW)
'''

# Grid 网格布局
l1 = Label(root, text = 'l1', bg = 'red')
l2 = Label(root, text = 'l2', bg = 'blue')
l3 = Label(root, text = 'l3', bg = 'green')
l4 = Label(root, text = 'l4', bg = 'yellow')
l5 = Label(root, text = 'l5', bg = 'purple')

l1.grid(row = 0, column = 0)
l2.grid(row = 1, column = 0)
l3.grid(row = 1, column = 1)
l4.grid(row = 2 )
l5.grid(row = 0, column = 3)

root.mainloop()

其中重要的是 pack 、 place 、grid 这三个关键字。左右布局比填充方向多了side对齐属性。绝对布局place(x轴坐标,y轴坐标)。
在写界面的时候,也避免不了使用Entry(输入框)

Eexe = Entry(top, text="选择exe文件", width=40)
Eexe.place(x=135, y=88)

和一些Entry常用功能,比如清空输入框中的内容
myEn.delete(0, END)

其实就是删除索引0到最后
还有就是输入框的插入

myEn.insert(0, text)

其中的0是插入的索引,text是要插入的内容
获得输入框的内容

myEn.get()

在界面中通常会使用提示窗口
import tkMessageBox
tkMessageBox.showinfo("提示", "提示的内容")

要先引入在使用
经常使用的还有按钮Btn1 = Button(top, text="浏览", width=15, command=lambda: myfile(Eexe))
Btn1.place(x=450, y=85)其中最重要的是command属性,其中
command=lambda: myfile(Eexe)


按钮点击时调用myfile这个方法,并传入一个名叫Eexe的参数,其实就是上面的我们介绍的输入框,这里把他当参数传入。
如果我们的点击事件不需要传入参数,属性可以写成这样command=myfile
直接等于方法名
在界面中也经常使用文本label varLabel = StringVar()
# justify = 'left'
labelMessage = Label(top, bg='White', textvariable=varLabel, relief=RAISED, width=45, height=12, wraplength=300,
anchor='n')
labelMessage.place(x=110, y=210)

如果想在文本中添加内容可以使用变量
varLabel.set("想输入的内容")


同样label的内容可以取出来的
varLabel.get().encode('utf-8')


返回的是文本的内容,encode('utf-8')是文字的编码,可以在必要的时候添加
使用的python的时候我们经常还要知道当前的操作系统currentSystem = platform.system()
if currentSystem == 'Windows':

是不是windows还是Linux
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  python