python - 每当我单击 tkinter 中的按钮时,我都想增加一个变量
问题描述
大家好,请问我正在使用此代码,我希望它
compteur
在单击按钮时增加一个名为的变量,我希望它在__init__
函数中增加。但问题是这个变量总是保持为 0
import tkinter as tk
from tkinter import ttk
from PIL import ImageTk, Image
class MainUi(tk.Tk):
def __init__(self, *args, **kwargs):
tk.Tk.__init__(self, *args, **kwargs)
self.geometry("300x400")
self.geometry("+500+100")
container = tk.Frame(self)
container.pack(side="top", fill="both", expand=True)
self.frames = {}
frame = StartPage(container, self)
self.frames[StartPage] = frame
frame.place(relx=0, rely=0, relwidth=1, relheight=1)
class StartPage(tk.Frame):
def __init__(self, parent, controller):
tk.Frame.__init__(self, parent)
self.configure(background='white')
# self.master.configure(background='black')
self.compteur = 0
button1 = ttk.Button(self, text="Next", width=7, command = lambda: self.next_clicked())
button1.place(relx=0.8, rely=0.9)
print(self.compteur)
def next_clicked(self):
self.compteur += 1
app = MainUi()
app.mainloop()
解决方案
问题不在于self.compteur
没有引发,而是print(self.compteur)
将打印引发值的语句放置在next_clicked(self)
方法之外。这应该有效:
def next_clicked(self):
self.compteur += 1
print(self.compteur)
推荐阅读
- asp.net - 如何在asp .net mvc中安排发送电子邮件
- ios - FSCalendar 日期选择自定义月份和星期 - Swift
- c# - 如何使用 ajax 将 id 传递给部分视图控制器方法?
- javascript - 如何在 React-native 中将元素固定在一个地方?
- memory - 在没有足够内存的情况下运行 Snakemake 的最佳实践
- android - android studios(windows)中的flutter应用程序到iOS的flutter应用程序(.ipa)
- laravel - 将数组作为属性传递给刀片自定义组件
- c# - 如何在 C Sharp 中获取当前活动窗口的图标?
- jpa - 带有 WIldfly24 的 JPA 设置抛出 NullPointerException
- reactjs - 提交按钮必须重定向到反应 js 中选定的单选按钮页面