Skip to main content

Arrange radio buttons horizontally using pack method in Tkinter

This is my first GUI attempt with python using tkinter and I cannot figure out what is the problem:

here is my initial code:

from tkinter import *

root_app = Tk()
root_app.title("Test App")

#Question 1 - best car brand
v1 = StringVar()
v1.set(None)
Label(root_app, text="What is your favorite car barnd?\n", font=('Helvatical bold',16), fg='#ff0').pack()

r1 = Radiobutton(root_app, text='Mazda', value='Mazda', variable=v1).pack()
r2 = Radiobutton(root_app, text='BMW', value='BMW', variable=v1).pack()
r3 = Radiobutton(root_app, text='Ford', value='Ford', variable=v1).pack()

#Question 2 - best sports brand
v1 = StringVar()
v1.set(None)
Label(root_app, text="What is your favorite sports barnd?\n", font=('Helvatical bold',16), fg='#ff0').pack()

r1 = Radiobutton(root_app, text='Nike', value='Nike', variable=v1).pack()
r2 = Radiobutton(root_app, text='Adidas', value='Adidas', variable=v1).pack()
r3 = Radiobutton(root_app, text='Puma', value='Puma', variable=v1).pack()

root_app.mainloop()

It works but the radio buttons are shown vertically:

enter image description here

I tried to use side='left' configuration for pack() in my code:

r1 = Radiobutton(root_app, text='Mazda', value='Mazda', variable=v1).pack(side='left')
r2 = Radiobutton(root_app, text='BMW', value='BMW', variable=v1).pack(side='left')
r3 = Radiobutton(root_app, text='Ford', value='Ford', variable=v1).pack(side='left')

but I got a messy frame and cannot figure out how to fix it horizontally under each label:

enter image description here



source https://stackoverflow.com/questions/73513869/arrange-radio-buttons-horizontally-using-pack-method-in-tkinter

Comments