I want to ask, how to align these few checkbuttons in tkinter. I m using ttk.
This is my code
button_frame=Frame(main, style='TFrame')
checks_frame=Frame(main, style='TFrame')
output_frame=Frame(main, style='TFrame')
start_button=Button(button_frame, text='START', command=lambda: _thread.start_new_thread(suspend_processes, ()), state=NORMAL, style='TButton')
stop_button=Button(button_frame, text='STOP', command=lambda: restore_all_processes(False, False), state=DISABLED, style='TButton')
restore_button=Button(button_frame, text='RESTORE', command=lambda: restore_all_processes(False, True), style='TButton')
scrollbar=Scrollbar(output_frame)
out=Text(output_frame, state=NORMAL, bg='white', width=50, height=10, spacing3=True, wrap=WORD, yscrollcommand=scrollbar.set, font=('Calibri'), foreground=theme)
strict_check=Checkbutton(checks_frame, text='Strict mode (FPS+)', variable=strict, command=switch_strict, style='TCheckbutton')
real_time_check=Checkbutton(checks_frame, text='Use real time priority (experimental, sound may lagg, FPS+)', state=NORMAL, command=switch_real_time, variable=real_time)
dis_game_sound_check=Checkbutton(checks_frame, text='Disable in game sound (recommended, FPS+)', state=DISABLED, command=switch_dis_game_sound, variable=dis_game_sound)
dis_grass_swaying_check=Checkbutton(checks_frame, text='Disable grass swaying (FPS+)', variable=dis_grass_swaying)
dis_per_pixel_point_lighting_check=Checkbutton(checks_frame, text='Disable per pixel point lighting (FPS+)', variable=dis_per_pixel_point_lighting)
slow_client_check=Checkbutton(checks_frame, text='Slow Client (max performance for client)', variable=slow_client)
button_frame .pack()
start_button .pack(side=LEFT)
stop_button .pack(side=LEFT)
restore_button .pack(side=LEFT)
checks_frame .pack(side=LEFT)
dis_per_pixel_point_lighting_check.pack()
dis_grass_swaying_check .pack()
slow_client_check .pack()
strict_check .pack()
real_time_check .pack()
dis_game_sound_check .pack()
output_frame .pack(side=RIGHT)
out .pack(side=LEFT, fill=BOTH, expand=True)
scrollbar .pack(side=LEFT, expand=True, fill=Y)
Please help me. Thanks for any response.
I believe you need to set the pack anchor attribute on each checkbutton widget. The default anchor is 'center', which is why they are aligned in the center of the container. So here is the fix.
dis_per_pixel_point_lighting_check.pack(side=TOP, anchor=W)
dis_grass_swaying_check .pack(side=TOP, anchor=W)
slow_client_check .pack(side=TOP, anchor=W)
strict_check .pack(side=TOP, anchor=W)
real_time_check .pack(side=TOP, anchor=W)
dis_game_sound_check .pack(side=TOP, anchor=W)