【发布时间】:2017-06-08 19:40:54
【问题描述】:
我有一个函数 fonc(a,b,c,bool1,bool2) 接受浮点 (a,b,c) 和布尔参数。 此函数可以根据布尔值绘制不同类型的图形(使用 matplotlib),这些图形取决于浮点值。
我正在尝试在 tkinter 中为这个功能制作一个“图形界面”。在此界面中,我可以使用复选框更改布尔值,并使用旋转框和“启动”按钮浮动,该按钮使用当前参数启动函数并在界面中绘制。
我会尝试先用一个复选框来制作它,这就是问题所在,按钮启动的部分命令的功能是静态的。我的意思是它采用我放置的默认参数并且永远不会更改,即使使用我的复选框来更改参数的值。
这是我的代码,函数是testpanneau.testpanneau1,我的布尔值是toutedir2:
import tkinter as tk
import testpanneau
from functools import partial
"""constantes"""
latitude = 37.77
longitude = -122.42
j = 21
m = 12
a = 2016
timezone = -8
hauteurlieu = 0.282
costheta = False
toutedir1 = False
toutedir2 = True
infonord = False
cst = 32
"""definition de la fonction de changement de booleen"""
def chgtbool1():
print("Button clicked")
toutedir2 = True if is_checked.get() else False
print(toutedir2)
"""creation de ma fenetre"""
mafenetre = tk.Tk()
mafenetre.title('Test irradiance')
mafenetre.geometry('600x200')
"""definition des boolen des checkbox"""
#toutedir2
is_checked = tk.BooleanVar()
#toutedir1
#costheta
#infonord
"""creation des checkbox"""
checkbox = tk.Checkbutton(mafenetre, variable=is_checked, command=chgtbool1)
"""Création d'un widget Button (bouton Quitter)"""
Bouton1 = tk.Button(mafenetre, text = 'Quitter', command = mafenetre.destroy)
""" Création d'un widget Button (bouton Lancer)"""
BoutonLancer = tk.Button(mafenetre, text ='generer', command = partial(testpanneau.testpanneau1,latitude,longitude,j,m,a,timezone,hauteurlieu,cst,costheta,toutedir1,toutedir2,infonord))
"""Positionnement du widget avec la méthode pack()"""
checkbox.pack(side = tk.LEFT, padx = 5, pady = 7)
Bouton1.pack()
BoutonLancer.pack(side = tk.RIGHT, padx = 5, pady = 0)
""" Lancement du gestionnaire d'événements"""
mafenetre.mainloop()
【问题讨论】:
标签: python user-interface button tkinter