개 요
라디오 버튼을 사용하여
일반 버튼을 활성화/비활성화 하는 방법을 알아보겠습니다.
아래 그림은 프로그램을 실행한 결과입니다.
처음 실행하면 일반 버튼은 모두 비활성화 되어 있고,
라디오 버튼도 아무것도 선택되어 있지 않습니다.
라디오 버튼의 [ 새 파 일 ]을 선택하면,
[ 새파일 만들기 ]버튼은 활성화 되고,
[ 파일열기 ]버튼은 비활성화 됩니다.
라디오 버튼의 [ 기존파일 ]을 선택하면,
[ 새파일 만들기 ]버튼 비활성화 되고,
[ 파일 열기 ]버튼은 활성화 됩니다.
전체소스코드
다음은 전체 소스코드입니다.
코드설명
위 그림과 같이 프레임을 하나 만들었습니다.
프레임 안에 우선 일반 버튼 두개를 만들어 주고 상태를 모두 비활성화 시켰습니다.
[ state = "disable" ]
라디오 버튼을 두개 만들어 줍니다.
가만히 들여다 보면 [ variable ]과 [ value ]가 있습니다.
variable 는 변수
value 는 값입니다.
라디오 버튼의 특징은 여러개의 라디오 버튼이 있더라도,
그 중 하나만 선택이 되어야 합니다.
변수가 동일하면,
그 라이오 버튼들은 하나의 묶음이라는 의미입니다.
즉, 같은 변수를 사용하는 라디오 버튼만 그 중에 하나가 선택됩니다.
그리고 value에는 라디오버튼에 할당된 값이 들어갑니다.
그리고 그 값에 접근하기 위해
file_select_check = IntVar()
를 사용합니다.
현재 위 코드에는 value 값이 정수이기 때문에
IntVar()를사용했습니다.
만약 다른 형태라면 다른 함수를 사용해야 합니다.
StringVar() : 문자열형 변수
IntVar() : 정수형 변수
DoubleVar() : 실수형 변수
BooleanVar() : Boolean(참, 거짓) 형 변수
그리고 각각의 라디오 버튼을 누르면
[ switch() 함수를 호출 ]하도록 만들었습니다.
그러면 마지막으로 switch() 함수를 살펴보겠습니다.
위에서 라디오 버튼에 접근할 수 있는 변수로
[ file_select_check ]를 선언하였습니다.
변수의 값을 가져오기 위해서는 get() 함수를 사용합니다.
만약 file_select_check.get() 의 값이 [ 1 ]이면,
즉 라이오 버튼의 [ 기존파일 ]이 선택되면,
btnNewFile(새 파 일)버튼은 비활성화 되고,
btnOpenfile(기존파일)버튼은 활성화 됩니다.
그렇지 않으면,
btnNewFile(새 파 일)버튼은 활성화 되고,
btnOpenfile(기존파일)버튼은 활성화 됩니다.
프로그램이 시작될 때 활성화 된 상태로 시작하기
만약 프로그램이 실행되었을 때
라디오 버튼이 하나 선택되고,
그에 맞는 버튼도 활성화 되게 하려면
아래 그림과 같이 바꾸어 주면 됩니다.
[ 새파일 만들기 ] 버튼의 옵션에서 disable을 없앴습니다.
value 값을 [ True / False ]로 바꾸어 주었고
이에 따라 IntVar() 에서BooleanVar()로 바꾸었습니다.
마지막으로 if 문의 형식도 간략히 줄였습니다.
여기를 방문하시면 더 많은 파이썬 관련 자료를 확인할 수 있습니다.
'파이썬(Python)' 카테고리의 다른 글
[ 파이썬 한글 자동화 ] 한글 열기(실행하기), 편집 용지 설정하기 (0) | 2022.12.23 |
---|---|
[ Tkinter ] 파이썬 Tkinter 위젯(버튼 등) 숨기기 / 보여주기(Hide / Show Widget in TKinter) (0) | 2022.12.12 |
[ Basic ] Python import(파이썬 import) (1) | 2022.12.10 |
[ Tkinter ] 파이썬 Tkinter 버튼 만들기(Python Tkinter Button), 그리드(grid) (0) | 2022.12.06 |
[ 크롤링-Selenium ] 파이썬 다음 블로그 크롤링(Python Selenium)(4)-엑셀 저장 (0) | 2022.11.24 |