2017-05-31 67 views
0

我想問一下,如何在tkinter中對齊這幾個checkbutton。我正在使用ttk。 Checkbuttons, that I want to align to the LEFT如何在tkinter中對齊這些checkbuttons?

這是我的代碼

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) 

請幫助我。感謝您的迴應。

+2

你已經發布了一堆不相關的代碼。你能把它縮小到[mcve]嗎?另外,你是否閱讀了checkbuttons和pack的文檔以查看可用的選項?您提出的問題可以通過閱讀可用的文檔並做一些實驗來回答。 –

+0

看看http://effbot.org/tkinterbook/pack.htm –

+1

你有沒有考慮過使用['grid()'](http://effbot.org/tkinterbook/grid.htm)而不是'pack ()'? – Anthony

回答

2

我相信你需要設置每個checkbutton小的屬性。默認的錨點是'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) 
+0

一個示例可以提高此答案的質量。 – scotty3785