반응형
최종 목표는 아래 그림이다.
오늘은 불러온 파일의 경로를 추가해보았다. 코드는 아래와 같다.
import tkinter as tk
import tkinter.filedialog #이걸 따로 추가해야된다. 왜인지 모르겠음;
#윈도우 생성
root=tk.Tk()
#전체 이름
root.title('파일 여는 프로그램')
#창 크기 +붙은 부분은 좌상단 떨어진 위치
root.geometry("1000x400+100+100")
filename=0
def openfile():
global filename
filename=tk.filedialog.askopenfilename(initialdir = "C:/Users/Public",
title = "open file", filetypes = (("text file","*.txt"),("all files","*.*")))
lab00=tk.Label(root,text="파일 불러오기",font=('Arial 20 bold'),bg='white',fg="black",width=11,height=1)
lab00.grid(row=0,column=0,padx=5,pady=20)
#이미지 추가
file_img=tk.PhotoImage(file="경로/icon.png")
file_img=file_img.subsample(2,2)
button01 = tkinter.Button(root, overrelief="solid", command=openfile,bg="white",image=file_img)
button01.grid(row=0,column=1,padx=5,pady=20)
while True :
if filename != 0:
break
root.update()
lab02=tk.Label(root,text=filename,font=('Arial 12 bold'),bg='white',fg="black",width=50,height=1)
lab02.grid(row=0,column=2,padx=5,pady=20)
root.mainloop()
처음엔 그냥 라벨(lab02)을 추가했다가 실패했습니다. filename 이 생성되지 않았기 때문입니다. 파일을 불러와야 filename 이 생성되는데, 그 다음에 lab02가 실행되도록 해야했습니다. while 문을 통해 해결했습니다.
filename 에 무언가 들어오면 다음을 진행시키도록 했습니다. 이때 while 문 안에 root.update() 를 만드시 넣어줘야 합니다. 아래는 실행 결과입니다.
반응형
'GUI 프로젝트 > 파일 불러온 뒤 자동수정 저장 (Tkinter)' 카테고리의 다른 글
[파이썬 Tkinter GUI 만들기] 7. 라디오버튼 예쁘게 만들기 (0) | 2022.01.28 |
---|---|
[파이썬 Tkinter GUI 만들기] 6. 1차 선택 라디오버튼 만들기 (0) | 2022.01.28 |
[파이썬 Tkinter GUI 만들기] 4. 버튼에 아이콘 넣기 (0) | 2022.01.27 |
[파이썬 Tkinter GUI 만들기] 3. 버튼을 눌러서 파일 불러오는 창 열기 (0) | 2022.01.27 |
[파이썬 Tkinter GUI 만들기] 2. 파일 불러오는 창 열기 (0) | 2022.01.27 |
댓글