鱼C论坛

 找回密码
 立即注册
12
返回列表 发新帖
楼主: 元豪

[已解决]tk获取问题

[复制链接]
发表于 2022-10-6 19:18:43 | 显示全部楼层



噗 好吧,哈哈

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

使用道具 举报

 楼主| 发表于 2022-10-6 19:22:07 | 显示全部楼层

可是要怎样加到代码中呢?
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 19:27:22 | 显示全部楼层
元豪 发表于 2022-10-6 19:22
可是要怎样加到代码中呢?



emmm 我主要的部分代码都画出来啦,你直接就可以弄去用用

实在不行你把现在最新的代码发我试试看吧,我改改看

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

使用道具 举报

 楼主| 发表于 2022-10-6 19:28:39 | 显示全部楼层
Twilight6 发表于 2022-10-6 19:27
emmm 我主要的部分代码都画出来啦,你直接就可以弄去用用

实在不行你把现在最新的代码发我试试看 ...
  1. # -*- coding: <utf-8> -*- #
  2. import random
  3. import tkinter as tk
  4. from tkinter import messagebox
  5. import time

  6. window = tk.Tk()
  7. window.title('勇士游戏')
  8. window.geometry('300x250')
  9. window.resizable(False, False)

  10. queding = False
  11. TianShu = 1
  12. GongJi = random.randint(25, 30)
  13. XueLiang = 100
  14. JiE = 100
  15. SuDu = 10
  16. FangYu = 10
  17. xinxi = '''
  18. 血量: {}

  19. 饥饿度: {}

  20. 速度: {}

  21. 防御: {}
  22. '''.format(XueLiang, JiE, SuDu, FangYu)

  23. v = tk.IntVar()

  24. def TuiChu():
  25.     tuichu = messagebox.askokcancel(title='退出', message='你确定要退出游戏吗?')
  26.     if tuichu:
  27.         window.quit()

  28. def ZhuCaiDan():
  29.     zhucaidan = messagebox.askokcancel(title='返回', message='你确定要返回主菜单吗?')
  30.     if zhucaidan:
  31.         pass

  32. def QueDing():
  33.     global queding
  34.     if queding == False:
  35.         queding = True
  36.         if v.get() == 1:
  37.             
  38.     else:
  39.         queding = False

  40. def ChuFa():
  41.     pass

  42. def ZhuangBei():
  43.     pass

  44. def ChaKanZhuangBei():
  45.     pass

  46. def WuPin():
  47.     pass

  48. def ShiYong():
  49.     pass

  50. def YiTian():
  51.     pass

  52. l = tk.Label(window, text='今天是第 {} 天,你要:'.format(TianShu), font=1)
  53. l.place(x=80, y=5)

  54. XinXi = tk.Label(window, text=xinxi, bg='yellow', fg='black', font=15, width=15, height=8)
  55. XinXi.place(x=150, y=50)

  56. r1 = tk.Radiobutton(window, text='1. 出发', variable=v, value=1, command=ChuFa)
  57. r1.place(x=20, y=40)
  58. r2 = tk.Radiobutton(window, text='2. 装备物品', variable=v, value=2, command=ZhuangBei)
  59. r2.place(x=20, y=65)
  60. r3 = tk.Radiobutton(window, text='3. 查看装备', variable=v, value=3, command=ChaKanZhuangBei)
  61. r3.place(x=20, y=90)
  62. r4 = tk.Radiobutton(window, text='4. 查看物品', variable=v, value=4, command=WuPin)
  63. r4.place(x=20, y=115)
  64. r5 = tk.Radiobutton(window, text='5. 吃东西', variable=v, value=5, command=ShiYong)
  65. r5.place(x=20, y=140)
  66. r6 = tk.Radiobutton(window, text='6. 过了这一天~', variable=v, value=6, command=YiTian)
  67. r6.place(x=20, y=165)

  68. B = tk.Button(window, text='确定', bg='gray', width=25, height=2, command=QueDing)
  69. B.place(x=55, y=195)

  70. m = tk.Menu(window)
  71. f = tk.Menu(m, tearoff=0)
  72. m.add_cascade(label='返回', menu=f)
  73. f.add_command(label='返回主菜单', command=ZhuCaiDan)

  74. window.config(menu=m)

  75. b = tk.Button(window, text='退出游戏', bg='black', fg='white', width=7, height=1, command=TuiChu)
  76. b.place(x=2, y=2)

  77. window.mainloop()
复制代码


拿去拿去~
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 19:30:15 | 显示全部楼层



你要设置什么 变量 在按下时候变成 True 松开 False?

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

使用道具 举报

 楼主| 发表于 2022-10-6 19:34:46 | 显示全部楼层
Twilight6 发表于 2022-10-6 19:30
你要设置什么 变量 在按下时候变成 True 松开 False?

第12行的queding变量
谢谢啦
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 19:45:53 | 显示全部楼层
元豪 发表于 2022-10-6 19:34
第12行的queding变量
谢谢啦


这样可以吗?按住确定时候 quding 为 True 一松开就变成 False

  1. # -*- coding: <utf-8> -*- #
  2. import random
  3. import tkinter as tk
  4. from tkinter import messagebox
  5. import time

  6. window = tk.Tk()
  7. window.title('勇士游戏')
  8. window.geometry('300x250')
  9. window.resizable(False, False)

  10. queding = False
  11. TianShu = 1
  12. GongJi = random.randint(25, 30)
  13. XueLiang = 100
  14. JiE = 100
  15. SuDu = 10
  16. FangYu = 10
  17. xinxi = '''
  18. 血量: {}

  19. 饥饿度: {}

  20. 速度: {}

  21. 防御: {}
  22. '''.format(XueLiang, JiE, SuDu, FangYu)

  23. v = tk.IntVar()


  24. def TuiChu():
  25.     tuichu = messagebox.askokcancel(title='退出', message='你确定要退出游戏吗?')
  26.     if tuichu:
  27.         window.quit()


  28. def ZhuCaiDan():
  29.     zhucaidan = messagebox.askokcancel(title='返回', message='你确定要返回主菜单吗?')
  30.     if zhucaidan:
  31.         pass


  32. def ChuFa():
  33.     pass


  34. def ZhuangBei():
  35.     pass


  36. def ChaKanZhuangBei():
  37.     pass


  38. def WuPin():
  39.     pass


  40. def ShiYong():
  41.     pass


  42. def YiTian():
  43.     pass


  44. def set_True(event):
  45.     global queding
  46.     queding = True


  47. def set_False(event):
  48.     global queding
  49.     queding = False


  50. l = tk.Label(window, text='今天是第 {} 天,你要:'.format(TianShu), font=1)
  51. l.place(x=80, y=5)

  52. XinXi = tk.Label(window, text=xinxi, bg='yellow', fg='black', font=15, width=15, height=8)
  53. XinXi.place(x=150, y=50)

  54. r1 = tk.Radiobutton(window, text='1. 出发', variable=v, value=1, command=ChuFa)
  55. r1.place(x=20, y=40)
  56. r2 = tk.Radiobutton(window, text='2. 装备物品', variable=v, value=2, command=ZhuangBei)
  57. r2.place(x=20, y=65)
  58. r3 = tk.Radiobutton(window, text='3. 查看装备', variable=v, value=3, command=ChaKanZhuangBei)
  59. r3.place(x=20, y=90)
  60. r4 = tk.Radiobutton(window, text='4. 查看物品', variable=v, value=4, command=WuPin)
  61. r4.place(x=20, y=115)
  62. r5 = tk.Radiobutton(window, text='5. 吃东西', variable=v, value=5, command=ShiYong)
  63. r5.place(x=20, y=140)
  64. r6 = tk.Radiobutton(window, text='6. 过了这一天~', variable=v, value=6, command=YiTian)
  65. r6.place(x=20, y=165)

  66. B = tk.Button(window, text='确定', bg='gray', width=25, height=2)
  67. B.bind("<Button>", set_True)
  68. B.bind("<ButtonRelease>", set_False)
  69. B.place(x=55, y=195)
  70. m = tk.Menu(window)
  71. f = tk.Menu(m, tearoff=0)
  72. m.add_cascade(label='返回', menu=f)
  73. f.add_command(label='返回主菜单', command=ZhuCaiDan)

  74. window.config(menu=m)

  75. b = tk.Button(window, text='退出游戏', bg='black', fg='white', width=7, height=1, command=TuiChu)
  76. b.place(x=2, y=2)

  77. window.mainloop()
复制代码
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-10-6 19:49:06 | 显示全部楼层
Twilight6 发表于 2022-10-6 19:45
这样可以吗?按住确定时候 quding 为 True 一松开就变成 False


最后一个问题:
你的函数为什么又一个event参数?
最佳是你定了
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-10-6 19:53:07 | 显示全部楼层
元豪 发表于 2022-10-6 19:49
最后一个问题:
你的函数为什么又一个event参数?
最佳是你定了



绑定事件,都有自带 event 函数,否则会报错的

event 对象里面有一些触发事件的方法,能获取点击时的 x、y 坐标啦、获取此时触发事件的组件名啦等等

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

使用道具 举报

 楼主| 发表于 2022-10-6 19:54:25 | 显示全部楼层
本帖最后由 元豪 于 2022-11-16 18:34 编辑
Twilight6 发表于 2022-10-6 19:53
绑定事件,都有自带 event 函数,否则会报错的

event 对象里面有一些触发事件的方法,能获取点击 ...


月V 滚得!(太棒了)
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-6-24 20:16

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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