Python Forum
tkinter toggle buttons not working
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
tkinter toggle buttons not working
#1
Hi All,

I am working on some code in tkinter for creating a small GUI to control relays with a simple toggle on/off button image. For some reason, the toggle buttons are not working properly and I cannot figure out why. I click one button and the other button switches its image. Once I get past this, I will have probably 6-8 buttons for relay controls. Hoping that someone can see an obvious issue here.... Thanks for any help

#!/usr/bin/env python
""" http POST example """

from guizero import App, PushButton, Slider, Text
import time
import requests

ESPR1_Relay_On  = 'http://192.168.0.101/cm?cmnd=Power On'
ESPR1_Relay_Off  = 'http://192.168.0.101/cm?cmnd=Power Off'
SONOFF_Relay01_On  = 'http://192.168.0.113/cm?cmnd=Power On'
SONOFF_Relay01_Off  = 'http://192.168.0.113/cm?cmnd=Power Off'

sonoff_R1_url = 'NOT_INIT'
esp_R1_url = 'NOT_INIT'

#global is_on
on_sonoff_R1 = 0
on_esp_R1 = 0


class button:
    def __init__(self,index,image,grid):
        self.index = index
        self.image = image
        self.grid = grid
        
def sonoff_R1_button(n):
    global on_sonoff_R1
    print('SONOFF R1 STATUS()',n)
    if on_sonoff_R1 == 0:
        on_sonoff_R1 = 1
        pushButtons[n].image = buttons[n].image+'_on.jpg'
        sonoff_R1_url = SONOFF_Relay01_On
        sonR1 = requests.post(sonoff_R1_url)        
    else:
        on_sonoff_R1 = 0
        pushButtons[n].image = buttons[n].image+'_off.jpg'
        sonoff_R1_url = SONOFF_Relay01_Off
        sonR1 = requests.post(sonoff_R1_url)
        
                
def espR1_button(n):
    global on_esp_R1
    print('ESP R1 STATUS()',n)
    if on_esp_R1 == 0:
        on_esp_R1 = 1
        pushButtons[n].image = buttons[n].image+'_on.jpg'
        esp_R1_url = ESPR1_Relay_On
        espR1 = requests.post(esp_R1_url)
    else:
        on_esp_R1 = 0
        pushButtons[n].image = buttons[n].image+'_off.jpg'
        esp_R1_url = ESPR1_Relay_Off
        espR1 = requests.post(esp_R1_url)
     
path = '/home/pi/'

buttons = []
buttons.append(button(0,'living_room',[0,0]))
buttons.append(button(1,'kitchen',[1,0]))

app = App(title="Keypad example", width=1280, height=520, layout="grid")
app.bg='black'

pushButtons=[]
for button in buttons:
    pushButtons.append(PushButton(app, args=[button.index], command=espR1_button, grid=button.grid, align='left', image = path + button.image+'_off.jpg'))
    pushButtons.append(PushButton(app, args=[button.index], command=sonoff_R1_button, grid=button.grid, align='left', image = path + button.image+'_off.jpg'))

 
def main():

    #app.tk.attributes("-fullscreen",True)
    #app.tk.config(cursor='none')
    app.display()

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


Messages In This Thread
tkinter toggle buttons not working - by Nu2Python - Jan-15-2022, 05:17 AM
RE: tkinter toggle buttons not working - by Yoriz - Jan-15-2022, 02:39 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  Using Tkinter inside function not working Ensaimadeta 5 5,158 Dec-03-2023, 01:50 PM
Last Post: deanhystad
  [Tkinter] Radio Buttons Working Bassackwards gw1500se 6 2,353 Dec-07-2021, 07:13 PM
Last Post: menator01
  [Tkinter] Have tkinter button toggle on and off a continuously running function AnotherSam 5 5,087 Oct-01-2021, 05:00 PM
Last Post: Yoriz
  TkInter Binding Buttons ifigazsi 5 4,563 Apr-06-2020, 08:30 AM
Last Post: ifigazsi
  python file(.py) not working with my tkinter project DeanAseraf1 9 7,261 Mar-22-2020, 10:58 PM
Last Post: ifigazsi
  Tkinter scaling windows conten to or with its size not working Detzi 5 4,544 Jan-12-2020, 12:42 PM
Last Post: Detzi
  Issue on tkinter with buttons Reldaing 1 2,471 Jan-07-2020, 08:21 AM
Last Post: berckut72
  Need tkinter help with clicking buttons pythonprogrammer 2 2,500 Jan-03-2020, 04:43 AM
Last Post: joe_momma
  [Tkinter] Mouse click event not working on multiple tkinter window evrydaywannabe 2 3,807 Dec-16-2019, 04:47 AM
Last Post: woooee
  Tkinter Buttons action d3fi 1 2,030 Nov-20-2019, 09:16 PM
Last Post: Larz60+

Forum Jump:

User Panel Messages

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