首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从tkinter按钮调用的函数返回数据

从tkinter按钮调用的函数返回数据
EN

Stack Overflow用户
提问于 2018-12-17 00:49:01
回答 4查看 102关注 0票数 0

我需要从tkinter按钮调用的函数返回数据。

代码语言:javascript
复制
root= Tk()
def random():
    num_1= random.randint(0,12)
    num_2= random.randint(0,3)
    return num_1,num_2

num_1= None
num_2= None
Play=ttk.Button(text="Play",command=random)
Play.grid(row=3,column=0)

root.mainloop()

我不确定return actual将变量存储在哪里,因为当我打印num_1和num_2时,都会打印None而不是预期的随机数。任何意见都将不胜感激。

(我还有一个主循环等)

EN

回答 4

Stack Overflow用户

发布于 2018-12-17 00:55:57

如果你打算将num_1num_2声明为全局变量,那么你应该在随机函数中声明它。

代码语言:javascript
复制
root= Tk()
def random():
    global num_1, num_2
    num_1= random.randint(0,12)
    num_2= random.randint(0,3)
    return num_1,num_2

num_1= None
num_2= None
Play=ttk.Button(text="Play",command=random)
Play.grid(row=3,column=0)

root.mainloop()
票数 1
EN

Stack Overflow用户

发布于 2018-12-17 00:57:29

在此场景中,执行您希望函数在函数内执行的操作。

代码语言:javascript
复制
from tkinter import  *

import random

root= Tk()
def random_():
    num_1= random.randint(0,12)
    num_2= random.randint(0,3)
    # return num_1,num_2
    print(num_1,num_2)

num_1= None
num_2= None
Play= Button(text="Play",command=random_)
Play.grid(row=3,column=0)

root.mainloop()

返回

如果你这样做的话就会起作用

代码语言:javascript
复制
print(random_)
票数 1
EN

Stack Overflow用户

发布于 2018-12-17 00:58:01

最好不要使用全局变量

代码语言:javascript
复制
from tkinter import *
import random


def random_(tmp_list):
    tmp_list[0] = random.randint(0, 12)
    tmp_list[1] = random.randint(0, 3)


root = Tk()
tmp_list = [None, None]
Play=Button(text='Play', command=lambda: random_(tmp_list))
Play.grid(row=3, column=0)
root.mainloop()

print(tmp_list[0], tmp_list[1])
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53804372

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档