Python: увеличение атрибутов класса с помощью tkinter - PullRequest
0 голосов
/ 26 мая 2018

Вот очень простая программа с графическим интерфейсом, чтобы проиллюстрировать мой вопрос.Имеет:

  • Окно:
    main_window (tkinter.Tk())
  • Две кнопки:
    self.button1 & self.button2
  • Атрибут / переменная:
    self.x (целое число: 0)
  • Метод:
    xplus1(self) (добавляет 1 к self.x)


  • self.button1:
    В тексте написано 'Quit'.
    Нажатие на него приведет к завершению процесса через tkinter.destroy.

  • self.button2:
    В тексте написано 0, потому что для него установлено значение x.
    Нажатие должно увеличить 0 на 1 через self.xplus1.

Как я могу получить значение, отображаемое на self.button2, чтобы увеличить при нажатии?

from tkinter import *  

class Main:  

    def __init__(self):  
        main_window = Tk()

        self.x = 0

        self.button1 = Button(main_window,text=self.x,command=self.xplus1)
        self.button1.pack()
        self.button2 = Button(main_window,text='Quit',command=main_window.destroy)
        self.button2.pack()

        mainloop()

    def xplus1(self):
        self.x = self.x + 1

Main()

1 Ответ

0 голосов
/ 26 мая 2018

Добавить self.button1.config(text=self.x) к определению xplus1(self):

    def xplus1(self):
         self.x = self.x + 1
         self.button1.config(text=self.x)
...