如何在tkinter中对齐这些复选框?

时间:2017-05-31 13:57:38

标签: python tkinter alignment ttk

我想问一下,如何在tkinter中对齐这几个支票按钮。我正在使用ttk。 Checkbuttons, that I want to align to the LEFT

这是我的代码

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)

请帮帮我。感谢您的回复。

1 个答案:

答案 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)