美文网首页
Python-GUI基础-02

Python-GUI基础-02

作者: 杨大菲 | 来源:发表于2018-01-21 18:01 被阅读0次

77.输入框组件

1)简单的entry组件实现简单的输入框

from tkinter import *

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

e=Entry(root)

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

mainloop()

2)输入框自带默认输入文本:利用entry组件对象的insert方法实现

from tkinter import *

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

e=Entry(root)

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

e.insert(0,'hahaha...')

mainloop()

3)获取输入框内容利用entry组件对象的get方法

3-1)作品和作者的输入和输出

from tkinter import *

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

Label(root,text='作品:').grid(row=0,column=0)

Label(root,text='作者:').grid(row=1,column=0)

e1=Entry(root)

e2=Entry(root)

e1.grid(row=0,column=1,padx=10,pady=5)

e2.grid(row=1,column=1,padx=10,pady=5)

def show():

   print('作品:<%s>'% e1.get())

   print('作者:<%s>'% e2.get())

Button(root,text='获取信息',width=10,command=show).grid(row=3,column=0,sticky=W)

Button(root,text='退出',width=10,command=root.quit).grid(row=3,column=1,sticky=E)

mainloop()

解析如下:

定义一个根弹窗对象root=Tk()

利用grid函数布局作品和作者,及二者输入框 及两个底部按钮对象

作者、作品 两个属于label标签,对应两个输入框是Entry对象、两个按钮属于button对象

按钮触发需要提交并打印出两个输入框内容,这个利用按钮的command实现,让其等于一个韩式,这个韩数是show

show函数中利用Entry对象的get方法获取输入框输入的内容

3-2)密码输入框:利用星号替代

from tkinter import *

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

Label(root,text='账号:').grid(row=0,column=0)

Label(root,text='密码:').grid(row=1,column=0)

v1=StringVar()

v2=StringVar()

e1=Entry(root,textvariable=v1)

e2=Entry(root,textvariable=v2,show='*')

e1.grid(row=0,column=1,padx=10,pady=5)

e2.grid(row=1,column=1,padx=10,pady=5)

def show():

   print('账号:<%s>'% e1.get())

   print('密码:<%s>'% e2.get())

Button(root,text='芝麻开门',width=10,command=show).grid(row=3,column=0,sticky=W)

Button(root,text='退出',width=10,command=root.quit).grid(row=3,column=1,sticky=E)

mainloop()

3-3)输入框校验

from tkinter import *

root=Tk()

def test():

   if e1.get()=='yangfei':

       print('goog')

       return True

   else:

       print('wrong')

       e1.delete(0,END)

       return False

v=StringVar()

e1=Entry(root,textvariable=v,validate='focusout',validatecommand=test)

e2=Entry(root)

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

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

mainloop()

解析:利用validate定义检测动作是较短移出,focusout,当发生这个的是哦胡,要调用validatecommand的函数进行校验

3-4)校验出输入的异常后的继续调用函数

from tkinter import *

root=Tk()

def test():

   if e1.get()=='yangfei':

       print('goog')

       return True

   else:

       print('wrong')

       e1.delete(0,END)

       return False

def test2():

   print('haha')

   return True

v=StringVar()

e1=Entry(root,textvariable=v,validate='focusout',validatecommand=test,invalidcommand=test2)

e2=Entry(root)

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

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

mainloop()

3-5)计算器

from tkinter import *

root=Tk()

frame=Frame(root)

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

v1=StringVar()

v2=StringVar()

v3=StringVar()

def test(content):

   return content.isdigit()

testCMD=root.register(test)

e1=Entry(frame,width=10,textvariable=v1,validate='key',validatecommand=(testCMD,'%p')).grid(rpw=0,column=0)

Label(frame,text='+').grid(row=0,column=1)

e2=Entry(frame,width=10,textvariable=v2,validate='key',validatecommand=(testCMD,'%p')).grid(rpw=0,column=2)

Label(frame,text='=').grid(row=0,column=3)

e3=Entry(frame,width=10,textvariable=v3,state='readonly').grid(row=0,column=4)

def calc():

   result=int(e1.get())+int(e2.get())

   v3.set(str(result))

Button(frame,text='jieguo',command=calc).grid(row=1,column=2,pady=5)

mainloop()

相关文章

  • Python-GUI基础-02

    77.输入框组件 1)简单的entry组件实现简单的输入框 from tkinter import * root=...

  • Python-GUI基础-03

    78.删除菜单中项目 from tkinter import * root=Tk() theLB=Listbox(...

  • Python-GUI基础-04

    82.Canvas组件 1)绘制画布,移动删除画布上项目 from tkinter import * root=T...

  • Python-GUI基础-01

    75 Tkinter GUI初体验 import tkinter as tk class APP: def __i...

  • Python-GUI编程-PyQt5 课程发布啦!

    Python-GUI编程-PyQt5 更新介绍 1. GUI编程是什么? GUI 全称为: Graphical U...

  • java多线程相关

    (一) 基础篇 01.Java多线程系列--“基础篇”01之 基本概念 02.Java多线程系列--“基础篇”02...

  • Java 基础

    Java 基础01Java开发入门 Java 基础02Java编程基础 Java 基础03面向对象 Java 基础...

  • 区块链币圈基础链板块解析

    2018-02-02 区块链币圈 基础链板块 板块定义: 基础链板块是具有不依赖第三方、通过...

  • Android 基础

    Android基础01控件和布局 Android基础02数据存储 Android基础03网络编程 Android基...

  • Go学习记录

    2020-02-241.Go语言基础 2020-02-26程序实体那些事1、2、3

网友评论

      本文标题:Python-GUI基础-02

      本文链接:https://www.haomeiwen.com/subject/lurqaxtx.html