我想问一下,如何在tkinter中对齐这几个支票按钮。我正在使用ttk。
这是我的代码
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)
请帮帮我。感谢您的回复。
答案 0 :(得分:4)
我认为您需要在每个checkbutton小部件上设置 pack anchor 属性。默认锚点是“center”,这就是它们在容器中心对齐的原因。所以这是修复。
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)