我想在标签中打印n_clusters_
变量,但它没有更新。 n_clusters_
的计算在另一个类中。但我已经将它设置为全局变量。这是代码:
class nCluster():
def __init__(self):
label = Label(LabelHasil, text="Jumlah cluster yang ditemukan : ")
label.pack(side=LEFT, padx=5, pady=5)
def n_cluster(self):
cluster_label = Label(LabelHasil, textvariable=n_clusters_)
cluster_label.pack(side=LEFT, padx=5, pady=5)
show_n_cluster = nCluster()
这是计算n_clusters_
的类:
class Proses:
def __init__(self):
button = Button(window, text="Proses", command=lambda: stdbscan(self), width=10)
button.pack()
def stdbscan(self):
...
global n_clusters_
n_clusters_ = len(set(labels)) - (1 if -1 in labels else 0)
show_proses = Proses()
我需要在n_clusters_
变量更新时打印它。有可能吗?
答案 0 :(得分:1)
你定义nCluster.n_cluster
应该创建和打包你的标签,但永远不要打电话给它。这实际上并不需要在它自己的方法中,只需在nCluster.__init__
的末尾抛入它。
最大的问题是,您需要n_clusters_
tkinter.StringVar
才能正确更新。
class Proses:
...
def stdbscan(self):
...
global n_clusters_
n_clusters_ = StringVar()
n_clusters_.set( len(set(labels)) - (1 if -1 in labels else 0) )