# radio button = similar to checkbox, but you can only select one from a group from tkinter import * food = ["pizza","hamburger","hotdog"] def order(): if(x.get()==0): print("You ordered pizza!") elif(x.get()==1): print("You ordered a hamburger!") elif(x.get()==2): print("You ordered a hotdog!") else: print("huh?") window = Tk() pizzaImage = PhotoImage(file='pizza.png') hamburgerImage = PhotoImage(file='hamburger.png') hotdogImage = PhotoImage(file='hotdog.png') foodImages = [pizzaImage,hamburgerImage,hotdogImage] x = IntVar() for index in range(len(food)): radiobutton = Radiobutton(window, text=food[index], #adds text to radio buttons variable=x, #groups radiobuttons together if they share the same variable value=index, #assigns each radiobutton a different value padx = 25, #adds padding on x-axis font=("Impact",50), image = foodImages[index], #adds image to radiobutton compound = 'left', #adds image & text (left-side) #indicatoron=0, #eliminate circle indicators #width = 375, #sets width of radio buttons command=order #set command of radiobutton to function ) radiobutton.pack(anchor=W) window.mainloop()
A simpler way to write his order function is: def order(): order = ["You bought the pizza!", "You bought the hamburger!", "You bought the hotdog!"] print(order[x.get()])
In python 3.11 it's probably the same. My pyCharm has highlighted that "indicatoron=0" too, but when I rewrote 0 to False it's ok now. It worked even with the 0, now it seems like pyCharm likes it more :-)
Hey guys I know this is a comment on a 3-year old post but just want some help. I wrote all the code he used, then I wanted to change the background of the radio button to be blue, so I wrote "bg="blue"" after the width and before the command in the radio button variable. For some reason when I run the code only the hamburger and hot dog changes background to blue and the pizza's background stays as white. I asked ChatGPT 4.0 what could be the issue and they don't have a concrete answer. Are there any coding connoisseurs that might be able to identify my issue?
So is there a reason why "im looking i just dont know if its cause obscure.. that when i use .place and coordinates that i am only getting the last Item in the list appearing and thus only hhave 1 radio button? apposed to how pack automatically works with the full list and for:loop ?
and there's a version if you want to be grammaticaly correct if food[x.get()] == "pizza": print(f"You ordered {food[x.get()]}!") #/ print(f"You ordered a slice of {food[x.get()]}!") else: print(f"You ordered a {food[x.get()]}!")
window = Tk() x = IntVar() dummy = Radiobutton(window, text="", variable=x, value=0, indicatoron=False) for index in range(len(food)): radiobutton = Radiobutton(window, text=food[index], variable=x, value=index + 1, padx=10, pady=5, font=("Impact", 40), indicatoron=False, width=20, command=order) radiobutton.pack(anchor=W) window.mainloop() don't know i fyou still need it but that's my solution haha
I tried creating the image in the for loop because I needed to resize it I added it to a single variable called photo and added the image to the image argument: image=photo, . When I did it messed up the program so that only the last image (the hotdog) showed up . Does it just point to the image in the array you've created rather than copying the image to the radio button? I'll try deleting the array after the for loop and see what happens.
# radio button = similar to checkbox, but you can only select one from a group
from tkinter import *
food = ["pizza","hamburger","hotdog"]
def order():
if(x.get()==0):
print("You ordered pizza!")
elif(x.get()==1):
print("You ordered a hamburger!")
elif(x.get()==2):
print("You ordered a hotdog!")
else:
print("huh?")
window = Tk()
pizzaImage = PhotoImage(file='pizza.png')
hamburgerImage = PhotoImage(file='hamburger.png')
hotdogImage = PhotoImage(file='hotdog.png')
foodImages = [pizzaImage,hamburgerImage,hotdogImage]
x = IntVar()
for index in range(len(food)):
radiobutton = Radiobutton(window,
text=food[index], #adds text to radio buttons
variable=x, #groups radiobuttons together if they share the same variable
value=index, #assigns each radiobutton a different value
padx = 25, #adds padding on x-axis
font=("Impact",50),
image = foodImages[index], #adds image to radiobutton
compound = 'left', #adds image & text (left-side)
#indicatoron=0, #eliminate circle indicators
#width = 375, #sets width of radio buttons
command=order #set command of radiobutton to function
)
radiobutton.pack(anchor=W)
window.mainloop()
I have a question about validation with radios with more indepth forms, how do you validate that you must chose an option( must select a choice)?
ㅑ99ㅑ9999ㅑㅑㅑㅑ9ㅑㅏ899ㅑㅑㅑㅑㅑㅡ8899ㅑㅡㅑㅑㅑㅑㅡ8ㅡ99ㅑ9ㅑㅑㅡ😅😅 3:16 ㅑㅣㅑㅔ91
4yrs late, but you still helping the bros.
Hello Bro.. I always see your tutoriarls!!
thank you!
A simpler way to write his order function is:
def order():
order = ["You bought the pizza!", "You bought the hamburger!", "You bought the hotdog!"]
print(order[x.get()])
U should post a link of those images too, pretty cool therse ones
Keep it up love ur great why is ur channel so under ratted never mind i believe u will come in other people recommendations
very nice way of teaching. Thanks BRO
Thank you sometimes i wonder how many programming languages u know u should make ur own from Lex
not as many as what people might think lol
@@BroCodez at first i thought you are nerd, in fact your nerd coz you know many languages AND you have a good tutorial
for me, even width 75 is very large. like 4-5 times more then in example. My screen is 2560x1440.
Great stuff from the Bro❤❤❤
Great work
Thanks this tutorial was really helpful
Chef kiss perfection
Good
In python 3.10 the indicatoron=0 is fine but the compiler expected it to be a boolean, in this case, it is False (Sorry if my English is bad)
In python 3.11 it's probably the same. My pyCharm has highlighted that "indicatoron=0" too, but when I rewrote 0 to False it's ok now. It worked even with the 0, now it seems like pyCharm likes it more :-)
@@elevendarter112 Visual studio code, p3.12 and it's ok.
Hey guys I know this is a comment on a 3-year old post but just want some help. I wrote all the code he used, then I wanted to change the background of the radio button to be blue, so I wrote "bg="blue"" after the width and before the command in the radio button variable. For some reason when I run the code only the hamburger and hot dog changes background to blue and the pizza's background stays as white. I asked ChatGPT 4.0 what could be the issue and they don't have a concrete answer.
Are there any coding connoisseurs that might be able to identify my issue?
Great!
So is there a reason why "im looking i just dont know if its cause obscure.. that when i use .place and coordinates that i am only getting the last Item in the list appearing and thus only hhave 1 radio button? apposed to how pack automatically works with the full list and for:loop ?
why can I not find a png image that works?
me too lmao
Great !!
I used f-string for the order function. It's even simplier and all in one line of code.
def order():
print(f"You ordered {food[x.get()]}!")
and there's a version if you want to be grammaticaly correct
if food[x.get()] == "pizza":
print(f"You ordered {food[x.get()]}!") #/ print(f"You ordered a slice of {food[x.get()]}!")
else:
print(f"You ordered a {food[x.get()]}!")
🎉
rahhhhh best code teacher
Hi, just a quick question!
When I follow the tutorial, I notice that the default selection is the first one.
Is there anyway to deselect that?
Thanks
window = Tk()
x = IntVar()
dummy = Radiobutton(window,
text="",
variable=x,
value=0,
indicatoron=False)
for index in range(len(food)):
radiobutton = Radiobutton(window,
text=food[index],
variable=x,
value=index + 1,
padx=10,
pady=5,
font=("Impact", 40),
indicatoron=False,
width=20,
command=order)
radiobutton.pack(anchor=W)
window.mainloop()
don't know i fyou still need it but that's my solution haha
What is the difference between padx and width? I didn"t get it Bro.
thank you very much, you are the best
Another cool video!
You are the best.
I ordered pizza but never comes????
Bro you are best...
شكرا
Wow!
Thank you!
every time i add images its gets all messed up!
How about in pysimplegui?
tysm bro
Ty Bro!!!
thanks
❤
Love you bro❤😂
huh?
I tried creating the image in the for loop because I needed to resize it I added it to a single variable called photo and added the image to the image argument: image=photo, . When I did it messed up the program so that only the last image (the hotdog) showed up . Does it just point to the image in the array you've created rather than copying the image to the radio button? I'll try deleting the array after the for loop and see what happens.
meow meow meow~!
Miam.
hi
❤