이것은 매우 초보자 용 질문입니다. 파이썬에서 GUI를 사용하기 위해 Tkinter를 사용하고 있습니다. 그러나 프레임 아래에있는 코드는 잘못된 순서로 표시됩니다.Tkinter의 위젯 순서가 잘못되었습니다.
# ********************************************
# * Frame for toolbar *
# ********************************************
# Main frame
self.fr_toolbar = Frame(self)
self.fr_toolbar.pack(fill=X)
self.fr_toolbar.grid_columnconfigure(0, weight=1)
# Align toolbars left
self.fr_left = Frame(self.fr_toolbar, bd=1, relief = RAISED)
self.fr_left.grid(row=0, column=0, sticky=W+E)
# Align toolbars right
self.fr_right = Frame(self.fr_toolbar, bd = 1, relief = RAISED)
self.fr_right.grid(row=0, column=1, sticky=E)
# *********************************************
# * Communication toolbar *
# *********************************************
# Create Frame for comm toolbar
self.tb_comm = Frame(self.fr_left)
self.tb_comm.grid(row=0, column=0)
# Several buttons in here...
# ********************************************
# * Scope toolbar *
# ********************************************
# Seperator line
self.fr_split = Frame(self.fr_left, bd=1, relief=SUNKEN, width=2, height=28)
self.fr_split.grid(row=0, column=1)
# Create frame for scope toolbar
self.tb_scope = Frame(self.fr_left)
self.tb_scope.grid(row=0, column=2)
# Several buttons in here
# *********************************************
# * Exit tool bar *
# *********************************************
# Create frame for exit tool bar
self.tb_exit = Frame(self.fr_right)
self.tb_exit.pack()
# Exit button here
오른쪽에 종료 도구 모음이 있고 왼쪽에 다른 모든 도구 모음이 있어야한다는 아이디어가있었습니다. 지금까지는 작동합니다. fr_left 내의 모든 툴바 프레임은 왼쪽에 있습니다. fr_right의 tb_exit가 오른쪽에 있습니다.
하지만 내 fr_left 내 툴바를 표시하는 순서가 잘못되었습니다. 먼저 tb_comm을 얻은 다음 tb_scope을 얻고 다른 두 도구 모음 사이에 세 번째 fr_split을 설정합니다. 나는 pack()과 grid()로 시도했다.
아무도 내가 잘못하고있는 것을 설명 할 수 있습니까? 적어도 pack()을 사용하여 위젯을 정의한 순서대로 가져올 것이라고 생각했습니다. grid()와 동일합니다. 나는 그것들을 칼럼으로 주문했지만, 파이썬은 그것을 무시하고있다.
플로리안
아마도'self.fr_split.grid()'와 함께 두 번째 줄이있을 수도 있습니다. – furas
최소한의 예제에서 설명하는 것을 재현 할 수 없기 때문에 확실하지 않습니다. 나는 네가 기대하는 것처럼 행동하지 않는 곳을 정확하게 파악할 때까지 한 번에 하나씩 꺼내는 것이 좋습니다. – Ajean
코드를 실행하면 코드가 요청한대로 tb_comm, fr_split, tb_scope 순으로 나타납니다. –