Python Forum
[Tkinter] Have tkinter button toggle on and off a continuously running function
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] Have tkinter button toggle on and off a continuously running function
#3
Something like this?
import tkinter as tk
from itertools import cycle


class MainFrame(tk.Frame):
    def __init__(self, *args, **kwargs):
        super().__init__(*args, *kwargs)
        self._timer = False
        self._button1_state = cycle(("disabled", "normal"))
        self._create()
        self._layout()
        self._binds()

    def _create(self):
        self.button1 = tk.Button(self, text="Button1")

    def _layout(self):
        self.button1.pack(padx=5, pady=5)

    def _binds(self):
        self.button1.bind("<ButtonRelease-1>", self._on_button1)

    def _on_button1(self, event):
        if not self._timer:
            self.toggle_button1()
        else:
            self.after_cancel(self._timer)
            self.button1.config(state="normal")
            self._timer = None

    def toggle_button1(self):
        self.button1.config(state=next(self._button1_state))
        self._timer = self.after(100, self.toggle_button1)


def main():
    app = tk.Tk()
    mainframe = MainFrame(app)
    mainframe.pack()
    app.mainloop()


if __name__ == "__main__":
    main()
Reply


Messages In This Thread
RE: Have tkinter button toggle on and off a continuously running function - by Yoriz - Oct-01-2021, 05:40 AM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] TKinter Remove Button Frame Nu2Python 8 1,026 Jan-16-2024, 06:44 PM
Last Post: rob101
  tkinter - touchscreen, push the button like click the mouse John64 5 877 Jan-06-2024, 03:45 PM
Last Post: deanhystad
  Using Tkinter inside function not working Ensaimadeta 5 5,089 Dec-03-2023, 01:50 PM
Last Post: deanhystad
  [Tkinter] Help running a loop inside a tkinter frame Konstantin23 3 1,598 Aug-10-2023, 11:41 AM
Last Post: Konstantin23
  Centering and adding a push button to a grid window, TKinter Edward_ 15 4,904 May-25-2023, 07:37 PM
Last Post: deanhystad
  help needed running a simple function in pyqt5 diodes 27 8,476 Jan-24-2023, 12:19 PM
Last Post: GetOnData
  Tkinter won't run my simple function AthertonH 6 3,911 May-03-2022, 02:33 PM
Last Post: deanhystad
  Can't get tkinter button to change color based on changes in data dford 4 3,450 Feb-13-2022, 01:57 PM
Last Post: dford
  tkinter toggle buttons not working Nu2Python 26 7,045 Jan-23-2022, 06:49 PM
Last Post: Nu2Python
  [Tkinter] tkinter best way to pass parameters to a function Pedroski55 3 4,900 Nov-17-2021, 03:21 AM
Last Post: deanhystad

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020