Python Forum
[Tkinter] I can't get information from a radio button
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Tkinter] I can't get information from a radio button
#2
Comments added to altered code shown below solving all the problems.
#!/usr/bin/python3

from tkinter import *
from tkinter import ttk


class MainWindow:

    def __init__(self, parent):
        # definisco gli attributi della finestra principale:
        self.parent = parent
        parent.title("My Software")
        # parent.iconbitmap("icon.ico")
        parent.geometry("530x515+360+200")
        parent.resizable(width=False, height=False)
        parent.configure(background="#f0f0f0")
        # Radio button "tools":
        tools = IntVar()
        tools.set(1)  # set 1 as the default
        ttk.Radiobutton(self.parent, text="Menu 1",
                        variable=tools, value=1).pack()
        ttk.Radiobutton(self.parent, text="Menu 2",
                        variable=tools, value=2).pack()
        ttk.Radiobutton(self.parent, text="Menu 3",
                        variable=tools, value=3).pack()
        ttk.Radiobutton(self.parent, text="Menu 4",
                        variable=tools, value=4).pack()
        ttk.Radiobutton(self.parent, text="Menu 5",
                        variable=tools, value=5).pack()
        # bottoni "Settings" e "OK":
        ttk.Button(self.parent, text="OK", command=self.__OpenTool).pack() # don't call __OpenTool ie remove () pass in a callable.
        ttk.Button(self.parent, text="Settings",
                   command=self.__OpenSettings).pack()
        self.tools = tools  # make tools accessable in methods

    def __OpenTool(self): # removed variable
        tools_value = self.tools.get()
        if tools_value == 1:
            print('first')
            # FirstWindow(self.parent)
            # self.parent.withdraw()
        elif tools_value == 2:
            print('2')
            # SecondWindow(self.parent)
            # self.parent.withdraw()
        elif tools_value == 3:
            print('3')
            # ThirdWindow(self.parent)
            # self.parent.withdraw()
        elif tools_value == 4:
            print('4')
            # FourthWindow(self.parent)
            # self.parent.withdraw()
        elif tools_value == 5:
            print('5')
            # FifthWindow(self.parent)
            # self.parent.withdraw()
        else:
            print("???")

    def __OpenSettings(self):
        print('open setting window')
        # SixthWindow(self.parent)


def main():
    root = Tk()
    app = MainWindow(root)
    root.mainloop()


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


Messages In This Thread
RE: Tkinter - I can't get information from a radio button - by Yoriz - May-19-2020, 09:59 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  [Tkinter] Is there a way to determine if a radio button has been selected? TWB 5 5,240 Jan-31-2023, 09:44 AM
Last Post: Vadanane
  [Tkinter] Radio Buttons Working Bassackwards gw1500se 6 2,370 Dec-07-2021, 07:13 PM
Last Post: menator01
  [Tkinter] Grid the radio buttons Joni_Engr 6 4,899 Nov-24-2021, 07:20 PM
Last Post: menator01
  Radio butto to enable/disable combo box in Tkinter cybertooth 5 5,648 Oct-09-2021, 07:30 AM
Last Post: cybertooth
  problem with radio button crook79 3 3,808 Aug-12-2021, 02:30 PM
Last Post: deanhystad
  [PySimpleGui] How to alter mouse click button of a standard submit button? skyerosebud 3 5,075 Jul-21-2019, 06:02 PM
Last Post: FullOfHelp
  [Tkinter] Radio button help Muzz 5 3,736 Apr-28-2019, 07:43 AM
Last Post: Muzz
  [Tkinter] Selected radio button in push button in Tkinter prashantfunde91 1 11,882 Jun-22-2017, 05:27 PM
Last Post: DeaD_EyE

Forum Jump:

User Panel Messages

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