2014-05-15 2 views
2

ttk 프레임의 배경색을 변경하려고하는데 다른 예제를 찾았지만 아무 것도 작동하지 않는 것 같습니다. 이것은 지금까지 내 코드입니다 :Tkinter/ttk 프레임 배경색 설정

from Tkinter import * 
import ttk 

p = Tk() 

p.geometry('600x350') 
p.configure(bg='#334353') 

gui_style = ttk.Style() 
gui_style.configure('My.TButton', foreground='#334353') 
gui_style.configure('My.TFrame', background='#334353') 

frame = ttk.Frame(p, style='My.TFrame') 
frame.grid(column=1, row=1) 

ttk.Button(frame, text='test', style='My.TButton').grid(column=0, row=0) 
ttk.Button(frame, text='Test 2', style='My.TButton').grid(column=3, row=3) 

p.mainloop() 

창 내가 원하는 배경 색상을 가지고 있지만, 프레임은 여전히 ​​기본 회색 배경을 가지고있다. 다르게 추가해야 할 것이 있습니까? 버튼을 제외하고 전체 창을 색상으로 지정하고 싶습니다. # 334353. 어떻게해야합니까?

편집 : 내 창 모양을 첨부했습니다. 나는 회색을 원하지 않는다. :./(주 나는, 그래서 여기에 분명히 이미지를 게시 할 수있는 충분한 담당자가없는 내 현재 창 imgur 수있는 ​​링크입니다! http://imgur.com/KyhbdMB

+0

예제는 나를 위해 잘 작동합니다 ... – NorthCat

+0

이것에 관해 많은 질문이 있습니다. [google 검색] (https://www.google.com/search?q=python+tkinter+mac+os+background#q=python+tkinter+mac+os+x+background)을 사용해보십시오. – Lafexlos

+0

운영 체제는 무엇입니까? Mac 시스템을 사용하는 경우 전경색/배경색에 문제가 있습니다. 아직 거기에 있는지 확실하지 않지만 mac 관련 답변을 검색하십시오. – Lafexlos

답변

2

당신의 프레임 만 최소 크기로 크기가되어있는 최신 TTK 패키지를 설치 (Py를 3.4 윈도우 32 비트에서 테스트) 두 개의 자식 창 (버튼)을 유지하는 데 필요합니다. 프레임이 메인 윈도우를 채우기를 원하는 것처럼 보입니다. 프레임을 그리드 할 때 스티커 옵션을 추가하여 사용 가능한 공간을 채우도록 확장해야합니다 (예 : frame.grid(column=1,row=1,sticky='news')). 그런 다음 부모가이 공간에 모든 공간 공간을 할당하도록해야합니다. 이를 위해 부모 창에 대해 grid_rowconfigure 및 grid_columnconfigure 메소드를 사용하려고합니다. 이 경우 :

여분의 공간이 셀에 부여하고 창을 채우기 위해 확대하여 프레임으로 이어질 것 1 열 1이를 행되어야한다고 주 프레임 격자 형상 관리자를 알려줍니다
p.grid_columnconfigure(1, weight=1) 
p.grid_rowconfigure(1, weight=1) 

.

+0

이것은 내가 원했던 것에 더 가깝지만 지금은 창 크기를 조절할 때 이렇게 보입니다 : http://imgur.com/0HnDg9I. 테스트 2 버튼의 패딩은 어떻게 줄일 수 있습니까? –

0

그것은 내 PC에서 작동

이 시도 :

  • 파이썬 환경을 업데이트는
+0

저는 Py 2.7을 사용하고 있습니다. 내 모든 큰 응용 프로그램은 2.7로 코딩되어 있습니다. 당신이 알고있는 2.7의 수정 사항이 있습니까? –

+0

잘 모르겠습니다. 일부 매개 변수 또는 명령이 2.7 버전에 정의되어 있지 않을 수 있습니다. – miny1997