일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
Tags
- 802.3
- 802.3 이더넷
- Address Resolution Protocol
- adodb 설치
- AES 암호
- Alternatively build in profile or release modes to enable launching from the home screen
- Android Studio 몰입모드
- Android Studio 몰입모드 설정
- Android Studio 상태바 없애기
- Android Studio 자동 정렬
- android studio 자동정렬
- Android Studio 자동정렬 단축키
- Android Studio 코드 자동정렬
- Android Studio 타이틀바 없애기
- Android Studio 하단 바 없애기
- Android Studio 홈버튼 없애기
- Angler EK
- Angler EK 악성코드
- Angler EK이란
- apache2 tomcat9
- apache2 tomcat9 설치
- apache2 tomcat9 연동
- API
- apk 에러
- apk 오류
- ARP
- arp cache poisoning
- ARP Poisoning
- ARP Request
- ARP 구조
Archives
- Today
- Total
지나가는 이야기
[Python] tkinter를 이용한 파일 내용 출력 프로그램 본문
728x90
반응형
tkinter을 이용한 프로그램을 만들어 보겠습니다.
(프로그램 소스 코드는 참고용으로 만든 것 입니다. 한번 프로그램 짜보시는걸 추천 드립니다.)
[조건]
1. 표시되는 내용은 모두 Label로 처리하고 Button으로 다음 자료를 구성한다.
2. 이미지 옆에는 반드시 3줄 이상에 걸쳐 자료에 대한 정보를 출력한다.
3. 화면 크기를 이미지와 텍스트에 맞춰서 알맞게 지정한다.
4. 이미지의 내용을 저장한 data_info.txt 파일의 내용을 불러와서 Label을 구성한다.
위 사진은 data_info.txt의 내용이다.
위 사진은 실행 결과이다.
먼저 tkinter를 사용하기 위해 import를 한다.
from tkinter import *
window = Tk()
그리고 메인타이틀과, 화면 크기를 지정한다.
window.title("My Favorite Baseball Team")
window.geometry("500x250")
window.resizable(False, False)
위 코드의 resizable()는 화면 늘리기 기능이다. x, y 순서로 False면 기능이 없고 True면 기능 사용이다.
data_info.txt 파일을 읽기 위해 해당 파일을 open 한다.
f = open("data_info.txt", 'r', encoding="UTF-8")
Label구성과 Button구성, 그리고 레이아웃 구성은 기본적으로 알고 있을 거라 생각하므로 생략하겠습니다.
from tkinter import *
window = Tk()
window.title("My Favorite Baseball Team") # Tkinter 타이틀명
window.geometry("500x250") # 화면 사이즈 크기 구성
window.resizable(False, False) # 화면 늘리기 기능 없앰
f = open("data_info.txt", 'r', encoding="UTF-8") # data_info.txt 파일 읽기모드로 오픈
lines = f.readline() # data_info.txt 파일의 첫 번째 줄만 가지고 옴
for line in lines:
lis = lines.split(":") # data_info.txt 내용을 :을 기준으로 나눔
label = ['', '', '', '', '', ''] # 정보를 출력할 Label을 반복문을 사용하기 위해 리스트 생성(6개의 Lable을 사용하기 때문에 크기가 6인 리스트 생성함)
# 첫 번째 화면 구성
for i in range(0, 6):
label[i] = Label(text=lis[i]) # 반복문을 이용해서 리스트에 Lable 내용을 넣음
# 두 번째 화면 구성
lines_2 = f.readlines() # data_info.txt 파일의 내용을 전부 읽음
for line in lines_2:
lis_2 = line.split(":") # 파일의 모든 줄을 읽기 때문에 여기서 :을 기준으로 나눠지는 줄은 마지막 줄이 된다.
label[0].pack() # 중앙 상단의 라벨 표시
img = PhotoImage(file="hanwha.png") # 이미지 파일 불러오기
w = Label(window, image=img).pack(side="left") # 왼쪽에 이미지 표시
# 이미지에 대한 정보를 라벨로 출력
label[1].place(x = 330, y = 40)
label[2].place(x = 330, y = 70)
label[3].place(x = 330, y = 100)
label[4].place(x = 330, y = 140)
label[5].place(x = 330, y = 160)
def previous(): # 이전 버튼을 클릭 했을 때 이벤트
for i in range(0, 6):
label[i].configure(text=lis[i]) # 다음 버튼 클릭시 첫 번째 화면 구성으로 Lable의 text를 변환
def next(): # 다음 버튼을 클릭 했을 때 이벤트
for i in range(0, 6):
label[i].configure(text=lis_2[i]) # 다음 버튼 클릭시 두 번째 화면 구성으로 Lable의 text를 변환
# 이전 버튼 구성
button_1 = Button(window, text = "이전", command = previous)
button_1.place(x = 330, y = 200)
# 다음 버튼 구성
button_2 = Button(window, text = "다음", command = next)
button_2.place(x = 435, y = 200)
window.mainloop()
위 코드는 전체 코드이다.
프로그램이 정상적으로 실행되는 것을 볼 수 있다.
728x90
반응형
'Computer language : 컴퓨터 언어 > Python' 카테고리의 다른 글
[Python] 파이썬 설치 및 환경설정 / Python 설치 및 환경설정 (Windows) (0) | 2020.10.28 |
---|---|
[Python] PC의 공인 IP 확인하기 / 파이썬으로 공인 IP 확인하기 (0) | 2020.09.28 |
[Python] olefile 설치 (0) | 2020.09.20 |
[Python] 파일 속 문자 개수 구하기, 문자열 문자 개수 구하기 (0) | 2020.08.06 |
[Python] 파일안 데이터 값 더하기 (2) | 2020.06.24 |
Comments