鱼C论坛

 找回密码
 立即注册
查看: 1497|回复: 1

e1.get,与v1.get区别

[复制链接]
发表于 2018-2-2 12:56:50 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
# 问题如下:def calc()计算过程中,如果用e1.get()就会出错,但是在作者作品打印中,这种用法明明是可行的,见代码2
####代码一
from tkinter import *

master = Tk()
v1 = StringVar()
v2 = StringVar()
v3 = StringVar()

def test(content):
   
    return content.isdigit()
   
testCMD = master.register(test)


# v.set('小甲鱼') 如果有此设置的话,e1.get(),中e1会出错

e1 = Entry(master, textvariable=v1, validate="key",\
           validatecommand=(testCMD,'%P')).grid(row = 0,column=0)

Label(master,text='+').grid(row = 0,column=1)
e2 =Entry(master, textvariable=v2, validate="key",\
           validatecommand=(testCMD,'%P')).grid(row = 0,column=2)

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

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


def calc():
    result = int(v1.get()) + int(v2.get())
    v3.set(str(result))

# 注意不能用e1.get

   
theButton = Button(master,text = '获得结果',bg = 'red',fg='blue',command =calc).grid(row = 1,column=2)


mainloop()




###代码2

from tkinter import *
root = Tk()

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

Label(root,text='密码',bg='red').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=4,column=0,sticky=W)
Button(root,text='退出程序',width = 10,command = root.quit)\
            .grid(row=4,column=1,sticky=E)


mainloop()
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2018-2-2 14:41:18 | 显示全部楼层
请看下面这两个都是同一对象吗?

e1 = Entry(master, textvariable=v1, validate="key",\
           validatecommand=(testCMD,'%P')).grid(row = 0,column=0)
=====================================================
e1 = Entry(master, textvariable=v1, validate="key",\
           validatecommand=(testCMD,'%P'))
e1.grid(row = 0,column=0)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-12-27 16:40

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表