找回密码
 立即注册

扫一扫,访问微社区

QQ登录

只需一步,快速开始

查看: 3890|回复: 2

[已解决] tkinter中checkbutton的veriable值是多少?

1

主题

6

帖子

6

积分

贫民

积分
6
rainy008 发表于 2016-8-14 21:51:35 | 显示全部楼层 |阅读模式
用tkinter做了一个简单的界面
无标题.png
想要实现的功能是:利用checkbutton的回调函数,选择checkbutton时,entry可写,否则,entry不可写,但不能获得checkbutton的值,求教怎么实现???
代码如下:
  1. from tkinter import *
  2. from tkinter.ttk import *

  3. def change_entry():
  4.     if cbtnvar == 0:
  5.         en_url['state'] = 'disabled'
  6.     if cbtnvar == 1:
  7.         en_url['state'] = 'normal'

  8. root = Tk()
  9. root.title('AutoStudy')

  10. username = StringVar()
  11. password = StringVar()
  12. cbtnvar = IntVar()
  13. url = StringVar()
  14. url.set('请输入网址')

  15. lb_username = Label(root, text='用户名:').grid(row=0, column=0, pady=5)
  16. en_username = Entry(root, width=25, textvariable=username).grid(row=0, column=1, sticky=W)
  17. lb_password = Label(root, text='密  码:').grid(row=1, column=0, pady=5)
  18. en_password = Entry(root, width=25, textvariable=password).grid(row=1, column=1, sticky=W)
  19. en_url = Entry(root, textvariable=url, width=80).grid(row=2, column=1, sticky=W, padx=2)
  20. cbtn = Checkbutton(root, text='单独学习一课', variable=cbtnvar, onvalue=1, offvalue=0, command=change_entry).grid(row=2, column=0, pady=5, padx=2)

  21. root.mainloop()
复制代码


回复

使用道具 举报

5

主题

101

帖子

101

积分

版主

Rank: 7Rank: 7Rank: 7

积分
101

最佳新人活跃会员热心会员突出贡献

QQ
落叶秋风 发表于 2016-8-15 23:33:28 | 显示全部楼层
if cbtnvar == 0:和if cbtnvar == 1:
改成
if cbtnvar.get() == 0:和if cbtnvar.get() == 1:
回复 支持 1 反对 0

使用道具 举报

1

主题

6

帖子

6

积分

贫民

积分
6
rainy008  楼主| 发表于 2016-8-16 22:32:35 | 显示全部楼层
谢谢,解决了
就得这样用.get()获得cbtnvar的值
另外cbtn=……也不能直接用grid
否则cbtn的类型就为NoneType了
回复 支持 反对

使用道具 举报

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

本版积分规则

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