cdkeycdma 发表于 2020-9-14 19:11:33

请问在外部如何调用def内部的代码?

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 19:18:31

这个怎么调用。。。。。。你是要达到怎么样的效果?

kylin121380 发表于 2020-9-14 21:25:11

本帖最后由 kylin121380 于 2020-9-14 21:27 编辑

要调用,不直接bao()调用吗{:10_257:}

cdkeycdma 发表于 2020-9-14 21:26:37

疾风怪盗 发表于 2020-9-14 19:18
这个怎么调用。。。。。。你是要达到怎么样的效果?

把t.set(a)的值传给t,使 b=tk.Label(baojia,textvariable=t)输出的值发生变化,达到实时显示动态数据的效果。

疾风怪盗 发表于 2020-9-14 21:38:11

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

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


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

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

a = 0
while a<10:
    a += 1
    bao(a)

baojia.mainloop()

kylin121380 发表于 2020-9-14 21:38:19

这个意思?
import tkinter as tk
import time



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

baojia.mainloop()

疾风怪盗 发表于 2020-9-14 21:39:09

https://fishc.com.cn/thread-180040-1-1.html
这个帖子不是写过了么?也是你的帖子

cdkeycdma 发表于 2020-9-19 18:19:30

kylin121380 发表于 2020-9-14 21:38
这个意思?

这个代码封装到def之后无法跑了。

cdkeycdma 发表于 2020-9-19 18:20:15

疾风怪盗 发表于 2020-9-14 21:39
https://fishc.com.cn/thread-180040-1-1.html
这个帖子不是写过了么?也是你的帖子

用def封装后便无法运行了

疾风怪盗 发表于 2020-9-19 18:21:55

cdkeycdma 发表于 2020-9-19 18:20
用def封装后便无法运行了

把你无法运行的代码放出来啊

cdkeycdma 发表于 2020-9-19 21:20:20

疾风怪盗 发表于 2020-9-19 18:21
把你无法运行的代码放出来啊

t.set(a)      
b.update()
这两句无法跑?

疾风怪盗 发表于 2020-9-19 21:21:50

cdkeycdma 发表于 2020-9-19 21:20
t.set(a)      
b.update()
这两句无法跑?

。。。。。。{:10_284:}
五楼的代码,亲测可以跑,效果也实现了

你说的不能跑的代码,敢不敢贴上来看看{:10_258:}

cdkeycdma 发表于 2020-9-19 21:50:32

疾风怪盗 发表于 2020-9-19 21:21
。。。。。。
五楼的代码,亲测可以跑,效果也实现了



可以跑,是我看错了

疾风怪盗 发表于 2020-9-19 22:00:39

cdkeycdma 发表于 2020-9-19 21:50
可以跑,是我看错了

{:10_312:}好吧,能解决问题就行了
页: [1]
查看完整版本: 请问在外部如何调用def内部的代码?