게시판 즐겨찾기
편집
드래그 앤 드롭으로
즐겨찾기 아이콘 위치 수정이 가능합니다.
파이썬 tkinter 버튼 설정 도움 부탁드립니다
게시물ID : programmer_22898짧은주소 복사하기
작성자 : 겐트위한4
추천 : 0
조회수 : 1046회
댓글수 : 0개
등록시간 : 2019/05/07 11:36:12
옵션
  • 본인삭제금지
1112.PNG

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
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
import os
import tkinter as tk
import tkinter.filedialog as fd
import tkinter.ttk as tp
 
class Myapp:
    def __init__(self):
        
        self.opened_files = []
        self.window = tk.Tk()
        self.window.title = "renamer"
        
        #Open 버튼을 눌러서 이름을 바꿀 파일 불러오기
        self.openbutton = tk.Button(self.window,text = "Open", command = self.open_buttonclick)
        self.openbutton.pack()
-
        #불러온 파일/바뀔 이름 표시
        self.fileview = tp.Treeview(self.window, columns=['#1' ,'#2'], displaycolumns = ['#1','#2'])
        self.fileview.pack()
        self.fileview.column('#0',width = 40)
        self.fileview.heading('#0', text='Order')
 
        self.fileview.column('#1', width = 440)
        self.fileview.heading('#1', text = "Original Name")
 
        self.fileview.column('#2', width = 440)
        self.fileview.heading('#2', text= "renamed")
 
        self.filetrees = rename_preview_list(self.opened_files,'[SHANA]','')
        for i in self.filetrees:
            self.fileview.insert('','end',test = i , values = self.filetrees[i], iid = str(i)+'번')
 
        print(self.opened_files)
        
        self.window.mainloop()
 
    #파일 불러오기
    def open_buttonclick(self):
        filenames = fd.askopenfilenames()
        for i in filenames:
            self.opened_files.append(i)
 
#바꿀 이름을 미리 보여주기
def rename_preview_list(filelist,start,dst):
    filetrees = []
    for i in filelist:
        str_name = str(i)
        dst_name = str(str_name.replace(start,dst))
        file_keys = [str_name, dst_name]
        filetrees.append(tuple(file_keys))
 
    return filetrees
 
 
if __name__ == "__main__":
 
    Myapp()
cs


tkinter의 button으로 실행한 함수 리턴값을 받아낼 수 없어서 클래스 변수 설정해놓고 갖고와서 추가하는 식으로 만들었는데요.. 

open_buttonclick()함수로 파일을 불러와서 tkinter의 treeview로 표시하려고 하는데, 변수 self.opened_files가 open_buttonclick()을 실행해도 함수 밖으로 값이 나가질 않아서 treeview에서 표시가 되질 않네요.. 클래스 내에서도 전역변수를 써야하는 건가요??? 
꼬릿말 보기
전체 추천리스트 보기
새로운 댓글이 없습니다.
새로운 댓글 확인하기
글쓰기
◀뒤로가기
PC버전
맨위로▲
공지 운영 자료창고 청소년보호