鱼C论坛

 找回密码
 立即注册
查看: 1956|回复: 13

[已解决]请问在外部如何调用def内部的代码?

[复制链接]
发表于 2020-9-14 19:11:33 | 显示全部楼层 |阅读模式

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

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

x
import tkinter as tk
import time
def bao():
    baojia = tk.Tk()  #创建窗口
    baojia.title('窗口')#给窗口命名
    baojia.geometry('380x300')
    t=tk.IntVar()    #指定变量类型
    b=tk.Label(baojia,textvariable=t)#指定输出的内容
    b.pack()



a=0
while True:     
          a+= 1
         t.set(a)        # 最后两行代码需要调用bao()这个def中的代码,请问如何实现?
           b.update()  #





最佳答案
2020-9-14 21:38:11
cdkeycdma 发表于 2020-9-14 21:26
把t.set(a)  的值传给t,使 b=tk.Label(baojia,textvariable=t)输出的值发生变化,达到实时显示动态数据的 ...

我咋记得,这样的效果,之前论坛上有个帖子就是要这样的。。。。。。
  1. import tkinter as tk
  2. import time


  3. def bao(a):
  4.     t.set(a)  # 最后两行代码需要调用bao()这个def中的代码,请问如何实现?
  5.     b.update()  #
  6.     time.sleep(1)

  7. baojia = tk.Tk()  # 创建窗口
  8. baojia.title('窗口')  # 给窗口命名
  9. baojia.geometry('380x300')
  10. t = tk.IntVar()  # 指定变量类型
  11. b = tk.Label(baojia, textvariable=t)  # 指定输出的内容
  12. b.pack()

  13. a = 0
  14. while a<10:
  15.     a += 1
  16.     bao(a)

  17. baojia.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-9-14 19:18:31 | 显示全部楼层
这个怎么调用。。。。。。你是要达到怎么样的效果?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-14 21:25:11 | 显示全部楼层
本帖最后由 kylin121380 于 2020-9-14 21:27 编辑

要调用,不直接bao()调用吗
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-14 21:26:37 | 显示全部楼层
疾风怪盗 发表于 2020-9-14 19:18
这个怎么调用。。。。。。你是要达到怎么样的效果?

把t.set(a)  的值传给t,使 b=tk.Label(baojia,textvariable=t)输出的值发生变化,达到实时显示动态数据的效果。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-14 21:38:11 | 显示全部楼层    本楼为最佳答案   
cdkeycdma 发表于 2020-9-14 21:26
把t.set(a)  的值传给t,使 b=tk.Label(baojia,textvariable=t)输出的值发生变化,达到实时显示动态数据的 ...

我咋记得,这样的效果,之前论坛上有个帖子就是要这样的。。。。。。
  1. import tkinter as tk
  2. import time


  3. def bao(a):
  4.     t.set(a)  # 最后两行代码需要调用bao()这个def中的代码,请问如何实现?
  5.     b.update()  #
  6.     time.sleep(1)

  7. baojia = tk.Tk()  # 创建窗口
  8. baojia.title('窗口')  # 给窗口命名
  9. baojia.geometry('380x300')
  10. t = tk.IntVar()  # 指定变量类型
  11. b = tk.Label(baojia, textvariable=t)  # 指定输出的内容
  12. b.pack()

  13. a = 0
  14. while a<10:
  15.     a += 1
  16.     bao(a)

  17. baojia.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-14 21:38:19 | 显示全部楼层
这个意思?
  1. import tkinter as tk
  2. import time



  3. baojia = tk.Tk()  #创建窗口
  4. baojia.title('窗口')#给窗口命名
  5. baojia.geometry('380x600')
  6. t=tk.IntVar()    #指定变量类型
  7. b = tk.Label(baojia, textvariable=t)  # 指定输出的内容
  8. b.pack()
  9. a = 0
  10. while a < 100:
  11.     a += 1
  12.     t.set(a)
  13.     b.update()
  14.     time.sleep(1)

  15. baojia.mainloop()
复制代码
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-14 21:39:09 | 显示全部楼层
https://fishc.com.cn/thread-180040-1-1.html
这个帖子不是写过了么?也是你的帖子
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 18:19:30 | 显示全部楼层

这个代码封装到def之后无法跑了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 18:20:15 | 显示全部楼层
疾风怪盗 发表于 2020-9-14 21:39
https://fishc.com.cn/thread-180040-1-1.html
这个帖子不是写过了么?也是你的帖子

用def封装后便无法运行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 18:21:55 | 显示全部楼层
cdkeycdma 发表于 2020-9-19 18:20
用def封装后便无法运行了

把你无法运行的代码放出来啊
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 21:20:20 | 显示全部楼层
疾风怪盗 发表于 2020-9-19 18:21
把你无法运行的代码放出来啊

t.set(a)      
b.update()  
这两句无法跑?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 21:21:50 | 显示全部楼层
cdkeycdma 发表于 2020-9-19 21:20
t.set(a)      
b.update()  
这两句无法跑?

。。。。。。
五楼的代码,亲测可以跑,效果也实现了

你说的不能跑的代码,敢不敢贴上来看看
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-9-19 21:50:32 | 显示全部楼层
疾风怪盗 发表于 2020-9-19 21:21
。。。。。。
五楼的代码,亲测可以跑,效果也实现了

可以跑,是我看错了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-9-19 22:00:39 | 显示全部楼层
cdkeycdma 发表于 2020-9-19 21:50
可以跑,是我看错了

好吧,能解决问题就行了
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-5-14 03:46

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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