鱼C论坛

 找回密码
 立即注册
查看: 2875|回复: 6

[已解决]tkinter小问题

[复制链接]
发表于 2017-3-20 15:51:12 | 显示全部楼层 |阅读模式

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

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

x
询问一下,关于config的作用,不知道他的作用,谢谢大家帮助
  1. from tkinter import *

  2. "实例化一个menu主键"

  3. root = Tk()
  4. root.title("Menu")
  5. root.geometry("300x200")

  6. def callback():
  7.     print("你好")

  8. frame = Frame(root)

  9. mb = Menubutton(frame,text="file",relief=RAISED)
  10. mb.pack(side=RIGHT,fill=X)

  11. mb1 = Menubutton(frame,text="Edit",relief=RAISED)
  12. mb1.pack(side=LEFT)

  13. mb2 = Menubutton(frame,text="Format",relief=RAISED)
  14. mb2.pack(side=LEFT)

  15. mb3 = Menubutton(frame,text="Run",relief=RAISED)
  16. mb3.pack(side=LEFT)
  17. frame.pack(side=WN)

  18. filemenu = Menu(mb,tearoff=False)
  19. filemenu.add_command(label="open",command=callback)#下拉菜单
  20. filemenu.add_command(label="save",command=callback)
  21. filemenu.add_separator()
  22. filemenu.add_command(label="exit",command=root.quit)

  23. filemenu1 = Menu(mb1,tearoff=False)
  24. filemenu1.add_command(label="Undo",command=callback)#下拉菜单
  25. filemenu1.add_command(label="redo",command=callback)
  26. filemenu1.add_separator()
  27. filemenu1.add_command(label="paste",command=root.quit)

  28. filemenu2 = Menu(mb2,tearoff=False)
  29. filemenu2.add_command(label="U",command=callback)#下拉菜单
  30. filemenu2.add_command(label="E",command=callback)
  31. filemenu2.add_separator()
  32. filemenu2.add_command(label="D",command=root.quit)

  33. filemenu3 = Menu(mb3,tearoff=False)
  34. filemenu3.add_command(label="EXIT",command=root.quit)#下拉菜单


  35. mb.config(menu=filemenu)
  36. mb1.config(menu=filemenu1)
  37. mb2.config(menu=filemenu2)
  38. mb3.config(menu=filemenu3)

  39. mainloop()
复制代码
最佳答案
2025-2-7 08:37:10
修改文本内容:对于Label、Button等小部件,你可以使用text选项来更新显示的文本。
  1. label.config(text="新文本")
复制代码

更改颜色:可以通过bg(背景色)和fg(前景色/文字颜色)选项来改变小部件的颜色。
  1. button.config(bg="blue", fg="white")
复制代码

禁用或启用小部件:使用state选项可以控制小部件是否可交互,接受的值包括"normal"(默认,可用状态)、"disabled"(不可用状态)等。
  1. entry.config(state="disabled")
复制代码
# 禁用输入框
绑定命令:对于按钮等可以触发事件的小部件,可以通过command选项来绑定函数或方法,当小部件被点击时执行相应的操作。
  1. btn.config(command=my_function)
复制代码

调整大小和位置:虽然主要通过布局管理器(如pack、grid或place)进行,但某些情况下也可以通过width和height等选项直接在小部件上设置尺寸。
字体设置:通过font选项可以自定义文本的字体样式、大小等属性。
  1. label.config(font=("Helvetica", 20, "bold"))
复制代码

注意事项
并非所有选项都适用于所有类型的小部件。例如,textvariable常用于Entry和Label以实现文本变量的双向绑定,但对于Button就不适用。
当你想要查询某个现有选项的当前值时,只需调用widget.cget("option")即可,无需使用config()方法。
总之,config()方法为开发者提供了极大的灵活性,使得能够根据需要实时调整应用程序界面,极大地增强了用户体验。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2017-3-20 21:38:56 | 显示全部楼层
百度竟然没有
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2017-3-22 10:40:02 | 显示全部楼层

很无奈
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2017-3-22 17:10:32 | 显示全部楼层
不科学啊,召唤一下大佬@冬雪雪冬
大佬,帮个忙解决个问题
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-1-30 22:00:19 | 显示全部楼层
可以改变参数
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2025-2-5 22:22:33 | 显示全部楼层
666
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2025-2-7 08:37:10 | 显示全部楼层    本楼为最佳答案   
修改文本内容:对于Label、Button等小部件,你可以使用text选项来更新显示的文本。
  1. label.config(text="新文本")
复制代码

更改颜色:可以通过bg(背景色)和fg(前景色/文字颜色)选项来改变小部件的颜色。
  1. button.config(bg="blue", fg="white")
复制代码

禁用或启用小部件:使用state选项可以控制小部件是否可交互,接受的值包括"normal"(默认,可用状态)、"disabled"(不可用状态)等。
  1. entry.config(state="disabled")
复制代码
# 禁用输入框
绑定命令:对于按钮等可以触发事件的小部件,可以通过command选项来绑定函数或方法,当小部件被点击时执行相应的操作。
  1. btn.config(command=my_function)
复制代码

调整大小和位置:虽然主要通过布局管理器(如pack、grid或place)进行,但某些情况下也可以通过width和height等选项直接在小部件上设置尺寸。
字体设置:通过font选项可以自定义文本的字体样式、大小等属性。
  1. label.config(font=("Helvetica", 20, "bold"))
复制代码

注意事项
并非所有选项都适用于所有类型的小部件。例如,textvariable常用于Entry和Label以实现文本变量的双向绑定,但对于Button就不适用。
当你想要查询某个现有选项的当前值时,只需调用widget.cget("option")即可,无需使用config()方法。
总之,config()方法为开发者提供了极大的灵活性,使得能够根据需要实时调整应用程序界面,极大地增强了用户体验。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-4-19 14:24

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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