Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将变量传递给Python中的另一个变量tkinter_Python_Tkinter - Fatal编程技术网

将变量传递给Python中的另一个变量tkinter

将变量传递给Python中的另一个变量tkinter,python,tkinter,Python,Tkinter,我想传递水果的值,这样我就可以将其打印为如果选择了苹果,则您的水果是苹果,如果两者都选择,则您的水果是苹果橙。也许我应该使用数组 from tkinter import * from tkinter import ttk import tkinter as tk app = tk.Tk() def show(): fruit="" if apple.get()==1: fruit = "apple" if ora

我想传递水果的值,这样我就可以将其打印为
如果选择了苹果,则您的水果是苹果
,如果两者都选择,则
您的水果是苹果橙
。也许我应该使用数组

from tkinter import *
from tkinter import ttk
import tkinter as tk

app = tk.Tk()

def show():
    fruit=""
    if apple.get()==1:
        fruit = "apple"
    if orange.get()==1:
        fruit = "orange"
    
    msg = "your fruit is %s"%fruit
    print(msg)

Label(app, text="fruit selected").grid(row=4,column=0, sticky=W)
apple = IntVar()
Checkbutton(app, text="apple", variable=apple,command = show).grid(row=4,column=1, sticky=W)
orange = IntVar()
Checkbutton(app, text="orange", variable=orange).grid(row=4,column=2, sticky=W)


#size
app.title('Basic message')
app.geometry("700x500")

app.mainloop()

您忘记添加command=ShowinOrange复选框。 此外,如果选中一个或多个复选框,则最好只打印消息

from tkinter import *
from tkinter import ttk
import tkinter as tk

app = tk.Tk()

def show():
    fruit=""
    if apple.get()==1:
        fruit = "apple"
    if orange.get()==1:
        fruit = "orange"
    
    if orange.get()==1 or apple.get()==1:
        msg = "your fruit is %s"%fruit
        print(msg)

Label(app, text="fruit selected").grid(row=4,column=0, sticky=W)
apple = IntVar()
Checkbutton(app, text="apple", variable=apple,command = show).grid(row=4,column=1, sticky=W)
orange = IntVar()
Checkbutton(app, text="orange", variable=orange, command = show).grid(row=4,column=2, sticky=W)


#size
app.title('Basic message')
app.geometry("700x500")

app.mainloop()
如果您想添加更多框,我还建议您使用数组或列表。
你也可以考虑使用一个类来做更好的“变量管理”

,有很多方法可以做到这一点,但是让我们先在你的例子中这样做。只需添加一行并对
show
函数进行一些改进,即可获得所需的结果

def show():
果=“”
如果apple.get()和orange.get():
水果=‘苹果橙’
elif apple.get():
水果=“苹果”
elif orange.get():
水果=“橙色”
msg=“您的水果是%s”%fruit
打印(msg)
但是整个代码可以改进,使用for循环创建不同的水果
Checkbutton
s,并将它们的变量
IntVar
保存为
var
,这将便于以后访问,最后将这些Checkbutton保存在列表中,以便在
show
函数中访问它们。逻辑很简单,我只是检查勾选了哪个checkbutton,并将它们的文本添加到
fruit
变量中

从tkinter导入*
从tkinter导入ttk
将tkinter作为tk导入
app=tk.tk()
ckb_列表=[]
def show():
f=“”
对于ckb_列表中的ckb:
如果ckb.var.get():
f+=ckb['text']+''
msg=“您的水果是%s”%f
打印(msg)
标签(app,text=“所选水果”).grid(行=4,列=0,粘性=W)
对于col,列举水果((‘苹果’、‘橘子’、‘香蕉’、‘芒果’):
ckb=检查按钮(应用程序,文本=水果,命令=显示)
ckb.var=ckb['variable']=IntVar()
ckb.grid(行=4,列=col+1,粘性=W)
ckb_列表追加(ckb)
#大小
应用程序标题(“基本消息”)
附录几何(“700x500”)
app.mainloop()

yes生成全局阵列如此添加命令=在第二个选中按钮中显示