어떤 내용인지 궁금하신 분은 아래에서 소개글을 먼저 확인해주세요 ^^ 강의에 사용된 모든 소스코드도 함께 첨부되어 있답니다. nadocoding.tistory.com/9 [공지사항] 2021.07.18 업데이트 (0:08:46) 4.버튼 챕터에서 Mac 사용자 분들은 버튼 배경색을 위한 bg 속성이 올바르게 동작하지 않을 수 있습니다. 이 때는 터미널에서 pip3 install tkmacosx 명령을 통한 모듈 설치 후, 소스 코드 상단에 다음과 같이 import 를 해주시면 정상 동작한다고 하니 참고 부탁드리겠습니다. from tkmacosx import Button 제보해주신 Guin 님께 감사드립니다. ^^
파이썬 공부를 6개월정도 하고있지만, 강의가 좋습니다. 인프런도 여러가 지 강의들 시청해봤지만 나도코딩님에 강의는 초보자들에게 바로 뭔가 간단한것을 개발하기에 도움이 많이 되는거 같습니다. 그리고 pyqt를 이용해서 하는 강의도 있으면 좋을거 같습니다. 나중에 간단한 딥러닝 텐서플로우 같은 강의도 시간 되시면 부탁드립니다. 예를들어 게임을 이용한 딥러닝 같은 종류면 좋을거같습니다. 항상 좋은 강의 감사합니다. 노하우 쪽 유명한 크리에이터가 되시길 기원하겠습니다.
나도코딩님 ! 아직 1편을 보고있지만 항상 감사합니다. 덕분에 많이 배우고 있습니다. 보다가 어 이것도 되겠지 ? 하면서 다른 영상과 구글 검색을 하고 다시 돌아오고, 무언가를 만들어 보고 돌아가고 하면서 지금 10~20회 정도 끊어가면서 보고있습니다. 덕분에 많이 알아가고있습니다. 감사합니다. 영상은 또 모아두며 보겠습니다 ㅎㅎㅎ
유튜브에 댓글 한 번도 안 달아봤는데 정말 감사한 마음에 처음으로 써보네요. 파이썬 기본 강의부터 챙겨보고 있는데 정말 유익하고 자세하게 설명해주셔서 감사합니다. 돈 주고 듣는 강의 보다도 더 퀄리티가 높은 영상인 것 같아요. 이렇게 매번 강의 영상 올려주셔서 감사하고 앞으로도 잘부탁드립니다.
따뜻한 격려 댓글 진심으로 감사드립니다. 다른 유료 강의에 비해 편집도 어색하고 화면 확대 축소도 잘 할 줄 몰라서 그냥 코딩을 합니다.. 촬영 장비도 시원찮습니다 ^^;;; 그래도 좋게 봐주시는 분들이 계셔서 열심히 강의를 만들게 된답니다. 비록 화려함은 없어도 알맹이는 꽉 차있는 강의를 만들도록 계속 고민하겠습니다.
지난번 질문에 이어서 궁금한 점이 있어서 다시 글을 씁니다. 하나로 쭈욱 만들다 보니 너무 길어져서 그러는데... UI 프레임 부분을 별도 파일로 만들고, 함수 만든 부분도 별도 파일로 만들어서.. main 파일에서 모듈로 읽어와서 실행 할 수 있도록 만들수 있는건가요? Class 까지 써서 이쁘게 정리해서 만들고 싶은데 프로그램을 잘 못짜서 쉽지 않네요..ㅠ 혹시 만드신 이미지 합치기 프로그램을 UI 프레임 파일, 함수 파일, main 파일 이렇게 나누어서 간단한 강좌도 가능하실까요? 아니면 블로그에 간단히 강좌가 가능하시면 부탁드립니다.ㅠ
Qt Designer라는 걸 사용하면 구이 프로그램을 쉽게 만들 수 있을 것 같은데... tKinter가 아닌 pyqt5와 qt 디자이너를 이용해 구이 프로그램을 만드는 과정을 영상으로 만들어주시면 많은 구독을 받으실 수 있을 것 같습니다... 안타깝게도 이 부분의 영상이 아무리 찾아도 제대로 된 것을 볼 수가 없습니다... 대부분 간략하거나, 중요한 무언가가 빠진 단발적인 영상 밖에 없어서... 나도코딩님의 이 작업처럼 하나의 간단한 모델프로젝트를 전과정에서 수행하는 영상을 만들면 여러 학습자들에게 큰 도움이 될 것 같습니다... 감사합니다...
폴더명이 일치하는지, img.png 파일이 gui_basic 이 아닌 PythonWorkspace 에 바로 만들어진 것은 아닌지 경로 확인이 필요하겠습니다 ^^ 그리고 실행하실 때 터미널에 나타나는 경로가 PythonWorkspace> _ 이렇게 뜨는지도 봐주세요. 그래야 그 폴더 기준으로 gui_basic 폴더를 찾고 그 안에 img.png 를 찾게 되거든요 ! 왠지 느낌으로는.. "img.png" 로 이미지 경로를 바꾸시면 될 거 같아요 ㅋ
기본편에 이어 활용편 (GUI) 너무 잘 봤습니다. 기본은 기존 지식이 있어 어렵진 않았는데, GUI는 생소해서 막막한 상황이었습니다. 올려주신 강의를 다 보니 좀 감이 잡히고 계속 연습이 필요하겠지만 너무나 많은 도움이 되었습니다. 깊은 감사를 드리고 저도 열심히 연습해서 좋은 결과 나오도록 노력하겠습니다. 감사합니다.
열심히 공부중입니다. 한 가지 질문이 있습니다. 2:02:00 부분에 나온, mapping 이라는 개념이 전혀 이해가 가지 않아요. 어떨 때는 매핑을 해야 하고, 어떨 때는 매핑을 안해도 되는군요. 여기에 관해 자세히 설명되어 있는 링크나 책을 알려주시면 감사하겠습니다.
27:30 쯤에 delete 부분 설명을 참고하시면 될텐데요, 사용자가 입력할 때 기존에 있는 글자가 자동으로 지워지기를 원하신다면 bind 라는걸 활용할 수 있습니다. 아래 샘플코드처럼 하시면 Entry 위젯이 포커싱 되었을 때 함수가 호출되며 내용 전체가 선택되도록 하여 사용자가 글자 입력시 지워지는 효과를 내실수 있어요 ^^ def Entry_Callback(event): e.selection_range(0, END) e.bind("", Entry_Callback)
15:35 photo = PhotoImage(file="gui_basic/img.png") btn6 = Button(root, image=photo) btn6.pack() 경로를 못찾고 에러가 납니다. ㅜ _tkinter.TclError: couldn't open "./gui_basic/img.png": no such file or directory
기초편, 활용1 잘 따라 실습하는 연습생입니다 그런데 활용2편에서 따라하다아래와 같은 에러가 발생해 해결하지 못하고 있습니다 나도코딩님의 해결책을 알려주셨으면 감사하겠습니다 -아래- PS C:\Users\user\Desktop\Python WorkSpace> & C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe "c:/Users/user/Desktop/Python WorkSpace/gui_basic/1_create_frame.py" & : 'C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe' 용어가 cmdlet , 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름 이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시 오. 위치 줄:1 문자:3 + & C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe "c: ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (C:/Users/user/A...on39/python.exe:S tring) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException
photo=PhotoImage(file="gui_basic/img.png") btn6 = Button(root, image=photo) btn6.pack() _tkinter.TclError: couldn't open "gui_basic/img.png": no such file or directory 에러 이유를 모르겠어요. ㅠㅠ
주피터노트북 환경에서 예제를 따라하고 있습니다. 혹시 어려움을 겪으시는 분이 있을까하여 댓글 남깁니다. 1. 버튼에서 PhotoImage(file = "guI_basic/img.png") 을 했을 때 파일을 찾을 수 없는 오류가 뜨고, 2. PhotoImage(file = "img.png")을 했을 때 "pyimage3" doesn't exist 오류 발생하신다면 PhotoImage(file="img.png, master=root) 로 루트(최상위) 항목의 변수명을 master로 넣어주면 해결가능합니다.
22.6.18일 기준 keyboard 라이브러리를 다운 받으려고 해서 터미널에 pip install keyboard를 입력했습니다. 정상적으로 0.13.5 버전이 다운되는 걸 확인했는데 막상 임포트하려하니 keyboard 대신 keyword가 있습니다;;(함수도 안 되고...) 이런 경우는 뭔 경우인가요
자체적으로 드래그 앤 드랍 기능을 제공하지는 않구요, tkdnd2 (tkinter drag and drop) 을 설치하여 원하시는 동작 구현이 가능해 보입니다. 간략한 설명과 예제 코드가 있는 링크를 드릴테니, 페이지 맨 아래쪽 부분 참고해주세요^^ stackoverflow.com/questions/14267900/python-drag-and-drop-explorer-files-to-tkinter-entry-widget/46865239
강의를 계속 들으면서 PROBLEMS에 보면 기본적으로 하기의 메시지가 뜹니다. 물론 실행에 문제는 안되는 것 같습니다만...혹시 해결 방법이 있을런지요? 'from tkinter import *' used; unable to detect undefined names 'Tk' may be undefined, or defined from star imports: tkinter 'Button' may be undefined, or defined from star imports: tkinter
나도코딩님 영상 정말 감명 깊게 시청했습니다. 정말 감사드립니다. 나도코딩님 강의를 똑같이 코딩하면서 강의를 시청했습니다. 그런데 제가 작성한 화면에서 2가지 잘못되고 있는 부분이 있어서 질문드립니다. 첫번째 질문은 파일추가시에 파일이 한개만 선택됩니다. 전체선택 및 복수개 파일이 선택이 안됩니다. 두번째 질문은 파일은 선택하면 내용이 한줄로 display되지 않고 아래로 한글자씩 display되는데 원인을 잘 모르겠어서 댓글로 질문드립니다. 해결책을 주시면 정말 감사하겠습니다. 즐거운 시간되세요.
안녕하세요 tkinter를 이용해서 프로젝트 진행중에 text에 한글을 입력시 발생하는 어려움이 있어 질문을 드립니다. text안에 한글을 입력하면 영문과 다르게 한글자가 완성되기 전에는 작은 사각형안에 글자가 만들어지는데 영문처럼 바로 입력할 수 있는 방법이 있을까요? 저도 해당 현상의 이해가 어려워서 질문이 어렵게 느껴지실텐데 tkinter text에 영문과 한글을 번갈아 처보시면 이해가 되실거에요.
if img_width >-1: image_sizes = [(int(img_width), int(img_width * x.size[1] / x.size[0])) for x in images] else: image_sizes = [(x.size[0], x.size[1]) for x in images] widths, heights = zip(*(x.size for x in images)) 파이썬 vscode를 사용하고 있습니다! unzip하기 위한 코드 zip(*(x.size for x in images)) 여기에서 저는 x.size for x in images 이 부분을 image_sizes를 넣어도 될 것 같아 해보았습니다. 그러나 에러가 발생했습니다. 이미 image_sizes에는 [(x.size[0], x.size[1])] 이것이 [(a,b)] 형식으로 저장된 것으로 생각해서 unzip하면 분리될 것이라 생각했는데 아니었나 봅니다. 이것이 왜 안되는 건 지 설명해주실 수 있나요??
나도코딩님의 여러가지 영상을 참고해서 민원관리 프로그램을 만들어보고 있습니다. 지난번 두개버튼으로 두개의 프레임 안에 각각 이미지를 집어넣는게 잘 안되어 질문댓글을 올렸었는데...시행착오 끝에 해결해서 댓글을 지웠습니다. 덕분입니다. 감사합니다. 그런데 이제는 다른게 제 발목을 잡습니다. 추가버튼으로 이미지를 추가하고 나서 삭제버튼으로 이미지를 삭제하는 버튼을 만드려고 하는데 작동을 안합니다. 오류는 안뜨는데 어떻게 된 영문인지 모르겠습니다. 그냥 추가버튼을 누르지않고 삭제버튼만 눌렀을때는 잘 작동하는 것을 볼 수 있었습니다. 아래는 제가 작성한 코드입니다. 바쁘시겠지만..잘 부탁드립니다. from tkinter import * import tkinter.ttk as ttk from tkinter import filedialog
안녕하세요 강의 잘 듣고 있습니다. 현재 레이블 섹션을 듣고 있는데 함수 change를 정의하고 photo2를 전역함수화를 했는데 노란 줄이 생기네요 Error는'photo2' is not defined in the global scopePython(variable-not-defined-globally) 라고 뜹니다. 이 부분을 어떻게 해결할 수 있을까요?
감사합니다. 너무 꼼꼼히 설명해주신 덕에 지겹게(^^) 잘보았습니다. ㅋㅋ " 여기서 퀴즈 드리겠습니다. 퀴즈: if 지겹다 != 지루하다: result = True elif result=False 정답: result is True 그나저나 나코님...다름이 아니오라... 활용편1에서 보면 교육과정이 라이브러리 기초 문법 -8개의 실전 프로젝트 머신러닝, 데이터 분석, 업무 자동화, 아두이노 RC Car, 얼굴인식 등 이라고 하셨는데요.. 머신러닝 part부분부터는 언제쯤 계획을 잡고 계신지...(멘붕 오시지 마시고요..ㅜㅜ) 정주행을 하다보니 살짝 과속을 하고잡은...마음이.. 여유가 없으시면... 음.. 살짝 개념 정도는 특강으로 올려 주시는 것도... (머~ 8개 실전 프로젝트도 아니구만요.... 끝에 "등"
활용편 업로드 순서 및 프로젝트 내용은 이렇습니다. 1. 게임 개발 - 오락실에서 하던 Pang 게임 2. GUI 프로그래밍 - 영상에서 캡처한 이미지들을 하나로 합치는 프로그램 3. 웹스크래핑 - 내가 원하는 뉴스를 매일 자동으로 긁어오는 프로그램 4. 업무자동화 - 엑셀, 인터넷, 데스크탑 등 컴퓨터에게 일을 시키는 스크립트 5. 데이터 분석 및 시각화 - 빅데이터를 활용한 대한민국의 인구 문제 분석 6. 얼굴 인식 - 이미지 / 영상에서 얼굴을 인식하여 얼굴 위에 재밌는 캐릭터 씌우기 7. 머신러닝 - KNN 을 통해 사용자별 영화 추천 시스템 개발 8. 사물인터넷 - 아두이노를 활용한 RC Car 제작 각 편당 업로드 주기는 1달 반으로 잡고있구요, 계획대로라면 머신러닝은 내년 초에 올릴수 있겠습니다. 아쉽지만 특강은 예정에 없구요 ^^; 머신러닝 활용편 때 기본 개념에 대해서 충분히 설명을 드릴수 있도록 하겠습니다. 늘 밝은 댓글 감사드립니다!
나도코딩님 강의 정말 잘 보고 있습니다!! 질문이 하나 있는데요.. 메모장 만들기에서 입력할때 영어는 입력이 잘 되는데 한글은 입력하면 입력값과 눈에 보여지는 값이 한박자(글자?)씩 차이가 나서 보여지네요.. 제가 맥북을 사용중이라서 그런거 같은데 혹시 해결방법이 없을까요..?
어떤 내용인지 궁금하신 분은 아래에서 소개글을 먼저 확인해주세요 ^^
강의에 사용된 모든 소스코드도 함께 첨부되어 있답니다.
nadocoding.tistory.com/9
[공지사항] 2021.07.18 업데이트
(0:08:46) 4.버튼
챕터에서 Mac 사용자 분들은 버튼 배경색을 위한 bg 속성이 올바르게 동작하지 않을 수 있습니다. 이 때는 터미널에서 pip3 install tkmacosx 명령을 통한 모듈 설치 후, 소스 코드 상단에 다음과 같이 import 를 해주시면 정상 동작한다고 하니 참고 부탁드리겠습니다.
from tkmacosx import Button
제보해주신 Guin 님께 감사드립니다. ^^
고맙습니다. ^^
코딩님.. 키움증권차트에서 이평선을 돌파할때 핸드폰으로 문자오게ㅠ만들고 싶은데요 이런것도 가능할까요?? 아님 이런거 의뢰도 받으시나요??
선생님 비쥬얼 스튜디오로 열심히 코드 따라치고 하고있습니다.
궁금한게 있는데요 모든 코드를 다 따라치고 실행도 다 잘되는데
실행파일은 어떻게 만드나요? exe파일이라고 해야되나요?
열심히 코드치고 했는데 비쥬얼스튜디오로 불러와서 F5로 실행시키는게 자괴감들어서요
@@뿌레카 구글에서 pyinstaller 를 검색하시면 사용법을 찾으실 수 있을거에요 ^^ .exe 형태로 만들어주는 프로그램이랍니다.
안녕하세요 코딩님 기초편부터 잘 보고있습니다. 항상 좋은 강의 감사드려요~!
다름이 아니라 제가 주피터나 vsc말고 colab을 주로 사용하는데.. 처음 tkinter부분을 코랩에서 돌리면 오류가 나더라구요.. 혹시 colab 환경에서 돌아갈 수 있는 방법이 있을까요?
와..ㄹㅇ 나도코딩님 영상은 초등교육에 필수코스로 넣어야 한다!!! 👏👏👏👏
^^ 많은 분들께 도움되면 정말 좋겠네요!
@@Distance_D ㅋㅋ
@@Distance_D 네? 저 초4...
Name error : name Tk is not defined 라고 뜨는데 어떻게 하ㅏㄴ여 ㅠ
근데 나도코딩님 진짜 말빨인정합니다.
설명을 사소한것도 하나하나 해주시니
이게 다 나도코딩님 덕분입니다.
계속 강의가 올라오기를 바라면서 기다리도록 하겠습니다.
파이썬 공부를 6개월정도 하고있지만, 강의가 좋습니다. 인프런도 여러가 지 강의들 시청해봤지만 나도코딩님에 강의는 초보자들에게 바로 뭔가 간단한것을 개발하기에 도움이 많이 되는거 같습니다. 그리고 pyqt를 이용해서 하는 강의도 있으면 좋을거 같습니다. 나중에 간단한 딥러닝 텐서플로우 같은 강의도 시간 되시면 부탁드립니다. 예를들어 게임을 이용한 딥러닝 같은 종류면 좋을거같습니다. 항상 좋은 강의 감사합니다. 노하우 쪽 유명한 크리에이터가 되시길 기원하겠습니다.
나도코딩님 ! 아직 1편을 보고있지만 항상 감사합니다. 덕분에 많이 배우고 있습니다.
보다가 어 이것도 되겠지 ? 하면서 다른 영상과 구글 검색을 하고 다시 돌아오고, 무언가를 만들어 보고 돌아가고 하면서
지금 10~20회 정도 끊어가면서 보고있습니다. 덕분에 많이 알아가고있습니다. 감사합니다.
영상은 또 모아두며 보겠습니다 ㅎㅎㅎ
와!! 좋아요. 구글링까지 습관으로 만드시면 이미 최고의 개발자 예약입니다 ^^ 피드백 정말 감사드립니다.
약 한달간 기초와 활용1편 보고 이제 내일은 이번 영상을 들으려 하는데 진짜 너무 감동입니다. 한번씩 들어 봤지만 무조건 그 이상 들어서 저의 것으로 만들고 싶어요!! 선생님 감사합니다!!
유튜브에 댓글 한 번도 안 달아봤는데 정말 감사한 마음에 처음으로 써보네요. 파이썬 기본 강의부터 챙겨보고 있는데 정말 유익하고 자세하게 설명해주셔서 감사합니다. 돈 주고 듣는 강의 보다도 더 퀄리티가 높은 영상인 것 같아요. 이렇게 매번 강의 영상 올려주셔서 감사하고 앞으로도 잘부탁드립니다.
따뜻한 격려 댓글 진심으로 감사드립니다. 다른 유료 강의에 비해 편집도 어색하고 화면 확대 축소도 잘 할 줄 몰라서 그냥 코딩을 합니다.. 촬영 장비도 시원찮습니다 ^^;;; 그래도 좋게 봐주시는 분들이 계셔서 열심히 강의를 만들게 된답니다. 비록 화려함은 없어도 알맹이는 꽉 차있는 강의를 만들도록 계속 고민하겠습니다.
@@nadocoding
ㅠ
ㅐ
ㅐ
ㅐ
ㅐ
ㅐ
ㅐ
중1 입니다 ..... 점프 투 파이썬이란 책으로 시작해서 어쩌다보니깐 여기까지 왔네요 나도코딩님 이런 멋진 강의를 올려주셔서 감사합니다 ... 앞으로도 많이 올려주세요ㅎㅎ
의외로 코딩 시장 현업 개발자들이 자기들의 재능을 하나 알려주지않으려고 하는데,, 이렇게 좋은 강의를 해주시다니 복받으실거에요
ㅑㅠㅐㅐㅏㅏㅐㅐㅠㅏㅑㅐㅏㅐㅐㅐㅠㅐㅐㅐㅐㅐㅏㅐㅏㅠㅐㅠㅠㅏㅠㅏㅐㅐㅏ
우와 정말 대단한 강입니다 파이썬에서 GUI를 구현 할 수 없을까로 궁금했는데 어떤 느낌인지 확실히알았네오
단 한번의 클릭과 드래그를 통해서 GUI를 구현 할 수 있는 VB계열과 비교하면 50배의 노력과 시간을 요하는군요
파이썬 GUI 플레폼이 나왔으면 좋겠네요
수준 높은 제작자의 수준 높은 영상입니다. 정말 감사드려요!
[목차]
[기본기]
(0:00:01) 0.Intro
(0:00:16) 1.소개
(0:02:03) 2.활용편2 소개
(0:04:04) 3.기본 프레임
(0:08:46) 4.버튼
(0:17:29) 5.레이블
(0:22:19) 6.텍스트 & 엔트리
(0:28:32) 7.리스트 박스
(0:35:52) 8.체크 버튼
(0:40:48) 9.라디오 버튼
(0:48:00) 10.콤보 박스
(0:53:31) 11.프로그레스 바
(1:02:46) 12.메뉴
(1:12:06) 13.메시지 박스
(1:24:07) 14.프레임
(1:29:45) 15.스크롤 바
(1:34:42) 16.그리드 기본
(1:45:51) 17.그리드 심화
[퀴즈]
(1:54:07) 18.퀴즈 (메모장 만들기)
[프로젝트]
(2:09:26) 19.프로젝트 (이미지 합치기 프로그램 만들기)
(2:13:51) 20.레이아웃 전반전
(2:22:42) 21.레이아웃 후반전
(2:34:16) 22.레이아웃 연장전
(2:38:16) 23.파일 추가 & 선택 삭제
(2:51:23) 24.저장 경로
(2:58:59) 25.자동 스크린샷
(3:03:26) 26.이미지 합치기
(3:15:03) 27.프로그레스 바 연동
(3:17:52) 28.zip
(3:23:23) 29.옵션 전반전
(3:34:54) 30.옵션 후반전
(3:40:43) 31.버그 수정
(3:45:29) 32.(보너스) 스크린 샷 프로그램
(3:52:54) 33.Outro
진심 감동입니다. 유료강의를 뛰어넘는 퀄리티인 것 같습니다. 복받으실 거예요.
좋게 봐주셔서 감사합니다 ^^ 도움되면 좋겠습니다.
하나 궁금한 게 있습니다. 프로그래스 바에서 "indeterminate" 모드로 작동 하는 것을 버튼 제어로 로딩이 되는 것처럼 변경을 하고 싶은데, 그건 어떻게 구현해야 하나요?
파이썬 공부를 하고 있는데 너무 많은 도움이 되어서 ...
감사하다는 말을 다시한번 꼭 드리고 싶었습니다.
^^ 감사합니다. 모든 댓글은 감사히 읽고 있답니다. 큰 힘이 됩니다.
15_quiz_셀프답안
from tkinter import *
# root
root = Tk()
root.title("제목 없음 - Windows 메모장")
root.geometry("640x480")
root.resizable(True, True)
# frame
frame = Frame(root)
frame.pack()
scrollbar=Scrollbar(frame)
scrollbar.pack(side="right", fill="y")
txt = Text(frame, width=200, height=200, yscrollcommand = scrollbar.set)
txt.pack(side="left")
scrollbar.config(command=txt.yview)
# menu
menu = Menu(root)
def file_open():
with open("mynote.txt", "r", encoding="utf8") as memo:
txt.insert(END, memo.read())
def file_save():
with open("mynote.txt", "w", encoding="utf8") as memo:
memo.write(txt.get("1.0",END))
def close():
root.quit()
#하부 메뉴
menu_file = Menu(menu, tearoff=0)
menu_file.add_command(label="열기", command = file_open)
menu_file.add_command(label="저장", command = file_save)
menu_file.add_separator()
menu_file.add_command(label="끝내기", command = close)
#상부 메뉴
menu.add_cascade(label="파일", menu=menu_file)
menu.add_cascade(label="편집")
menu.add_cascade(label="서식")
menu.add_cascade(label="보기")
menu.add_cascade(label="도움말")
root.config(menu=menu)
root.mainloop()
나도코딩님~~ 다음편 너무 기대됩니다ㅎㅎㅎ 나도코딩님 강의가 너무 좋아서 기본편, 활용편1, 활용편2 모두 정주행 3회 했어요~~
ㅠㅠ 3번씩이나.. 진심으로 감사드립니다. 소중한 시간이 헛되지 않게 다음편도 많은 고민을 거듭하며 제작중입니다. 좋은 강의로 보답하겠습니다 ^^
지난번 질문에 이어서 궁금한 점이 있어서 다시 글을 씁니다.
하나로 쭈욱 만들다 보니 너무 길어져서 그러는데...
UI 프레임 부분을 별도 파일로 만들고, 함수 만든 부분도 별도 파일로 만들어서..
main 파일에서 모듈로 읽어와서 실행 할 수 있도록 만들수 있는건가요?
Class 까지 써서 이쁘게 정리해서 만들고 싶은데 프로그램을 잘 못짜서 쉽지 않네요..ㅠ
혹시 만드신 이미지 합치기 프로그램을 UI 프레임 파일, 함수 파일, main 파일 이렇게 나누어서 간단한 강좌도 가능하실까요?
아니면 블로그에 간단히 강좌가 가능하시면 부탁드립니다.ㅠ
죄송하지만 활용편 강의 준비 및 여러 분들의 질문에 대한 답변으로 시간이 많지 않아서 요청하신 강의를 바로 준비하기는 어렵습니다. 이해 부탁드립니다. ㅠㅠ 나중에 시간이 날 때 준비해보도록 하겠습니다.
진짜 멋있다..이런 사람이 되야겠다
ㅋㅋㅋ 저도 멋진 사람이고 싶네요 ^^ 항상 댓글 달아주셔서 정말 감사합니다. 진심입니다.
훌룡한 사람이 되세요!
인정 합니다. 이런 지식을 공짜로 나눈다는 건 쉬운 선택이 아니죠.. 그리고 다른 사람들과는 다르게 형식적인 거 말고 예외도 설명해 주시니 더 좋은 거 같아요
너무 공감. 대단하신분.
ㄹㅇ 나이가 어떻게 되실지 너무 궁금해요 20대이신거같은데
와 감사합니다!!!
...자세히 보기
퀄러티 미쳤습니다. 흥하시라고 구독 따봉 박고 갑니다.
좋은 영상 감사합니다. 기초편부터 활용편까지 수강했고 머신러닝도 배워보고 싶네요. 유료 강의도 수강할 의향있습니다.
나도코딩님은 유료 강의 수강 할 생각 없는 것 같습니다.
아 정말 필요했던 강의 입니다 감사합니다 6시간 기초도 명강입니다
^^ 부족한 강의지만 좋게 봐주셔서 진심으로 감사드립니다. GUI 도 배워두시고 나면 쓸 곳이 많아서 도움되실거에요 ㅋ
@@nadocoding Thanks l watch this video. LOL
혹시 이거 다봤는데 그 막 영어 단어들을 잘 이해 못하겟는데 정상인가요 아님 거의다 이해해야지 정상인가요 ㅠㅠ 어렵네요(이걸 어캐 다 외워야 할지 ...)
영어 단어요? ㅎㅎ 단어 뜻은 공부하시면서 이해하면 되고, 외우실 필요는 없습니다. 작성하신 위젯 별 소스코드가 있으실 테니 프로그램 만드시다가 사용법 필요하시면 그 소스코드들 찾아서 참고하시는 방향으로 해보세요
기본편에 이어서 활용편1, 2까지 완강했습니다.
계속계속 좋은 강의 올려주셔서 감사합니다.
강의 들으면서 어디서 많이 듣던 목소리다는 싶었는데...
아! 우리 회사(etri)에서 파이썬 강의 수업 하시던 강사님 아니신가 생각이 들었어요. 맞죠?
그때 강의 정말 쉽게 잘 설명해주셔서 인상에 남았습니다.
이분 수업 강력 추천합니다!!!
^^; 실망스럽겠지만 저는 아니네요. 아마 그 분과 목소리가 비슷한가 봅니다. ㅎㅎ 어떤 분이실지, 저도 수업을 들어보고 싶네요!
Why is this in my recommended list. I dont speak Korean
Cool. Now I think it's time to prepare English content :)
@@nadocoding 그 발언, 사실입니까?
@@Cracker-크래커 아닙니다... 영어는 다음에...
너무나 유익한 강좌였습니다. 기본편 활용편1 활용편2까지 하루에 한편씩 봤네요. 100% 이해한건 아니지만 그래도 어떤식으로 사용하는지는 알게되어 매우 유용하게 사용할 수 있을것 같네요. 감사합니다. 다음편 넘어가도록 하겠습니다.
단계별로 좋은 강의 올려주셔서 너무 감사합니다 나도코딩님 덕분에 파이썬 조금씩 알아갈 수 있어서 너무 기쁩니다
^^ 아직 남아 있는 6편의 강의도 도움될 수 있도록 부지런히 열심히 준비하겠습니다. 따뜻한 격려 댓글 감사드립니다.
Qt Designer라는 걸 사용하면 구이 프로그램을 쉽게 만들 수 있을 것 같은데... tKinter가 아닌 pyqt5와 qt 디자이너를 이용해 구이 프로그램을 만드는 과정을 영상으로 만들어주시면 많은 구독을 받으실 수 있을 것 같습니다... 안타깝게도 이 부분의 영상이 아무리 찾아도 제대로 된 것을 볼 수가 없습니다... 대부분 간략하거나, 중요한 무언가가 빠진 단발적인 영상 밖에 없어서... 나도코딩님의 이 작업처럼 하나의 간단한 모델프로젝트를 전과정에서 수행하는 영상을 만들면 여러 학습자들에게 큰 도움이 될 것 같습니다... 감사합니다...
영상 올려주셔서감사함니다!
^^ 격려 댓글도 감사드립니다 !
열심히 잘 따라갔는데 이미지합치기에서 대가리 터질거같다...아.... 뭔지도 모르는 처음보는것들이 많이 나옴..ㅡㅡ
진짜 덕을 쌓고 계시네요.... 만수무강하세요ㅠㅠㅠ
그저 엄지 척
감사합니다.
국가에서 큰 상을 주어야 합니다. 대단히 고맙습니다.
정말 감사합니다 ㅠㅠ 도움 많이 됐네요! 근데 하나 질문이 있습니다. 혹시 파이썬(.py) 파일을 실행파일(.exe)로 바꾸는 법이 있나요??
pyinstaller 를 이용하면 파이썬이 설치되지 않은 곳에서도 프로그램을 이용할 수 있도록 패키징 가능합니다 ^^
선생님 이걸로 온라인겜 매크로 같은것도 만들수있을까요?
그럼요 가능하지요! 업무자동화 수업도 함께 들으면 도움될거에요
아들과 함께 하려고 공부 중인데, 정말 좋은 강의입니다.
문법 위주로 하는 강의보다 이렇게 실제 예제를 통해 강의를 진행해주시니 도움이 정말 많이 됩니다.
감사합니다.
2_button.py에서 저는 왜 img.png를 찾을수 없다고 뜨는지 모르겠네요 .
TclError: couldn't open "gui_basic/img.png": no such file or directory
폴더명이 일치하는지, img.png 파일이 gui_basic 이 아닌 PythonWorkspace 에 바로 만들어진 것은 아닌지 경로 확인이 필요하겠습니다 ^^ 그리고 실행하실 때 터미널에 나타나는 경로가 PythonWorkspace> _ 이렇게 뜨는지도 봐주세요. 그래야 그 폴더 기준으로 gui_basic 폴더를 찾고 그 안에 img.png 를 찾게 되거든요 !
왠지 느낌으로는.. "img.png" 로 이미지 경로를 바꾸시면 될 거 같아요 ㅋ
@@nadocodingThanks ... You're right.
기본편에 이어 활용편 (GUI) 너무 잘 봤습니다. 기본은 기존 지식이 있어 어렵진 않았는데, GUI는 생소해서 막막한 상황이었습니다.
올려주신 강의를 다 보니 좀 감이 잡히고 계속 연습이 필요하겠지만 너무나 많은 도움이 되었습니다. 깊은 감사를 드리고 저도 열심히 연습해서 좋은 결과 나오도록 노력하겠습니다. 감사합니다.
나와따! 나와따!! ...출근 하자마자..확인!!!
오늘이 목요일인데... 낼까지 안올려 주시면...유투브에 신고할라고 했음. ^^
우헤헤헤헤!!! 잘듣겠습니당. 감사합니당...
ㅋㅋㅋ 덕분에 박차를 가해서 빨리 올렸다구욧!!! 즐공하셔야 합니다?!! ^^
@@nadocoding 감사합니당... ^^
거의 4시간 가까이 되는 영상인데, 시간가는 줄 모르고 보았네요. 파이썬을 혼자 공부하시는 분들께 정말 좋은 강의네요! 코딩하는 걸 어려워하는 어려워하고 활용을 못하는 경우가 많은데 게임을 직접 만들어보며 재미있게 코딩하기 좋아요!
16:07
photo = PhotoImage(file="gui_basic/img.png")
btn6 = Button(root, image=photo)
btn6.pack()
CHANGE TO:
photo = PhotoImage(file="img.png")
감사합니다..이것때문에 머리 아팠는데 고맙습니다.
keyboard 모듈 알아갑니다! 논문을 읽을 때 레퍼런스 누르면 다시 읽던데로 돌아오기 힘들어 이런걸 해결하는 프로그램을 만드려하는데 실마리가 될 거 같아요..!
프로젝트 중에 제가 다른 사이즈 사진들로 파일 추가 하고 옵션 가로 넓이 를 640 헀는데 작은 사진들이 늘어져서 제일 큰 크기의 사진으로 커져서 붙여있던데. 원본으로 할때만 다른크기로 보여요. 제가 뭐를 놓히고 있나요?
현재 기본부터 보고 있는데요 콤보박스에서
import tkinter.ttk as ttk를 입력했지만
계속 syntaxerror만 뜨는데요 왜그러는걸까요??
정말 훌륭한 강의 잘 들었습니다.
대단히 감동 먹었습니다.
고맙습니다.
2:34:17
진짜 다른강의는 잘 따라가기도 힘들고 설명도 답답한데 이 강의듣고 GUI 만드는거 한방에 이해했습니다.
정말 감사합니다~!!!
댓글 정말 감사드립니다 ^^ 도움된다니 기뻐요!!!
선생님 궁금한게 있는데요
1:08:24
에요
menu_file = Menu(menu, tearoff=0)
menu_file.add_command(label="New File", command=create_new_file)
menu_file.add_command(label="New Window")
menu_file.add_separator()
menu_file.add_command(label="Open File...")
menu_file.add_separator()
menu_file.add_command(label="Save All", state="disable") # 비활성화
menu_file.add_separator()
menu_file.add_command(label="Exit", command=root.quit) # 실행
menu.add_cascade(label="File", menu=menu_file) # 실행
이 부분을 한글로 번역 하고 싶은데 결과는 밑에처럼 나오고요
def create_new_file():
print("새 파일을 만듭니다.")
menu2 = Menu(root)
menu2_file = Menu(menu, tearoff=0)
menu2_file.add_command(label="새 파일", command=create_new_file)
menu2_file.add_command(label="새 창")
menu2_file.add_separator()
menu2_file.add_command(label="파일 열기...")
menu_file.add_separator()
menu_file.add_command(label="모두 저장", state="비활성화") # 비활성화
menu_file.add_separator()
menu_file.add_command(label="Exit", command=root.quit) # 실행
menu2.add_cascade(label="파일", menu=menu2_file) # 실행
질문. 한국어랑 영어랑 같이 사용하고 싶은데 (즉,
설명 하기
1. vscode 들어간다.
2. expansion > Korean(한국어)
처럼 번역하는 메뉴를 만들고 싶은데 어떻게 해야될까요?)
죄송하지만 질문 이해를 잘 못했습니다. 메뉴명에 한글과 영어를 혼용하여 쓰고싶단 말씀이신가요?
@@nadocoding 혼용해서 못쓰나요?
@@SongCountryRecords 혼용 가능합니다. 그냥 label= 뒤에 한글 또는 영문으로 원하시는 값을 넣으시면 됩니다 ^^
@@nadocoding 위치를 알려주세요..
@@SongCountryRecords 메뉴에 한영 혼용되어 있는 예제 코드 드리니 참고해주세요
from tkinter import *
root = Tk()
root.title("Nado GUI")
root.geometry("640x480") # 가로 * 세로
def create_new_file():
print("새 파일을 만듭니다.")
menu = Menu(root)
# File 메뉴
menu_file = Menu(menu, tearoff=0)
menu_file.add_command(label="새 파일 (한글)", command=create_new_file)
menu_file.add_command(label="New Window (Eng)")
menu.add_cascade(label="파일메뉴 (한글)", menu=menu_file)
# Edit 메뉴 (빈 값)
menu.add_cascade(label="Edit (Eng)")
root.config(menu=menu)
root.mainloop()
3:53:03
광고 삭제
오메 어마어마하네요
바로 구독알림
구독 알림 감사드립니다 ^^ 다른 채널에 비해 업로드 주기가 조금 길지만 양질의 강의를 약속드립니다.
님은 훌륭한천재요. 내가 나중에 잘되면 잊지않을게요~보다할게요
32:31
13
결혼자금 모으려고 여기저기 알아보다가 네이버에 MP인베스트 검색하고 참여했더니 결혼자금 모으고도 남았네요
열심히 공부중입니다. 한 가지 질문이 있습니다.
2:02:00 부분에 나온, mapping 이라는 개념이 전혀 이해가 가지 않아요. 어떨 때는 매핑을 해야 하고, 어떨 때는 매핑을 안해도 되는군요. 여기에 관해 자세히 설명되어 있는 링크나 책을 알려주시면 감사하겠습니다.
교수님 감사합니당 ^-~
영상 도움많이되었습니다 한가지 질문이있는데 mac을 사용중인데 한글이 자음모음떨어져서 보이는데 해결방안이있을까요??
이미지 합치기 & pygame 참 여러번 반복을 해야 이해가 잘 되는 것 같아요 / 실무와 같은 강의여서 참으로 많은 도움이 됩니다.
비콘을 스캔하고 스캔 되는지 확인하는 GUI를 만들고 있습니다.스캔 버튼을 누르고 스캔 되는 도중에 스캔을 멈추고 싶어서 취소버튼을 만들었는데 이 취소버튼에 어떤함수를 넣어야하는지 모르겠습니다.버튼이 눌리지 않습니다ㅠㅠ
dest_path = os.path.join(txt_dest_path.get(), "image_merged.png") 이 코드의 정확한 의미가 잘 이해가 안되는데 도와주세요 ㅠ
ua-cam.com/video/bKPIcoou9N8/v-deo.html
total_height += (img_space * (len(images) - 1))
바깥 소괄호는 사용 안해도 되죠? 없어도 될 거같은데..
4_text_entry 에서 입력을 받을때 , 기존에 있던 "글자를 입력하세요" , "한줄만 입력하세요" 등이 자동으로 지워지고 입력을 받을 수는 없나요 ? 먼저 기존 내용을 선택하지 않고 입력을 하면 기존에 입력 된 내용이 같이 나옵니다.
27:30 쯤에 delete 부분 설명을 참고하시면 될텐데요, 사용자가 입력할 때 기존에 있는 글자가 자동으로 지워지기를 원하신다면 bind 라는걸 활용할 수 있습니다.
아래 샘플코드처럼 하시면 Entry 위젯이 포커싱 되었을 때 함수가 호출되며 내용 전체가 선택되도록 하여 사용자가 글자 입력시 지워지는 효과를 내실수 있어요 ^^
def Entry_Callback(event):
e.selection_range(0, END)
e.bind("", Entry_Callback)
@@nadocoding 감사합니다.
41:00 감사합니다
3:03:33
15:35
photo = PhotoImage(file="gui_basic/img.png")
btn6 = Button(root, image=photo)
btn6.pack()
경로를 못찾고 에러가 납니다. ㅜ
_tkinter.TclError: couldn't open "./gui_basic/img.png": no such file or directory
코린인데요...
저 검은창,코딩연습을 어디서시작해요?
코딩을 연습해보려면 기존pc인터넷 창에서
저검은화면을 따로여는거에요?
초초초급은 어디참조하면좋을지 알려주세요ㅜ
오 댓글 999길래 제가 입력해서 1000이 되었네용
기초편, 활용1 잘 따라 실습하는 연습생입니다
그런데 활용2편에서 따라하다아래와 같은 에러가 발생해 해결하지 못하고 있습니다
나도코딩님의 해결책을 알려주셨으면 감사하겠습니다
-아래-
PS C:\Users\user\Desktop\Python WorkSpace> & C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe "c:/Users/user/Desktop/Python WorkSpace/gui_basic/1_create_frame.py"
& : 'C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe' 용어가 cmdlet
, 함수, 스크립트 파일 또는 실행할 수 있는 프로그램 이름으로 인식되지 않습니다. 이름
이 정확한지 확인하고 경로가 포함된 경우 경로가 올바른지 검증한 다음 다시 시도하십시
오.
위치 줄:1 문자:3
+ & C:/Users/user/AppData/Local/Programs/Python/Python39/python.exe "c: ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: (C:/Users/user/A...on39/python.exe:S
tring) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
img_width -= -1에서
unsupported operand type(s) for -= 'str' and 'int'라는 오류가 나네요. 어떻게 해야될까요?
-= 을 = 로 해보세요 ^^ 앞에 - 가 잘못들어갔어요
photo=PhotoImage(file="gui_basic/img.png")
btn6 = Button(root, image=photo)
btn6.pack()
_tkinter.TclError: couldn't open "gui_basic/img.png": no such file or directory
에러 이유를 모르겠어요. ㅠㅠ
파일 추가후 리스트 프레임에 다음과 같이 파일명이 들어가네요... 에러코드는 OSError: [Errno 22] Invalid argument: "" 입니다. 언떤 문제일까요?
투자업체 고민중이였는데 MP인베스트 덕분에 첫투자부터 대성공했어요
나도코딩님에게 정말 감사히 파이썬에 대해서 공부를 하고 있는데 ptn6 이미지버튼을 생성하는데 오류가 발생합니다. _tkinter.TclError: couldn't open "gui_basic/img.png": no such file or directory
혹시 numpy하고 pandas 쓰는 프로젝트도 올려주실 수 있나요 ㅠㅠ 감사합니다, 항상 잘 보고 있어요!
^^ 다다음 활용편 - 데이터 분석에서 다루겠습니다. 다만 활용편은 경험상 최소 3시간짜리 강의다보니 준비하는데 시간이 꽤 걸릴 수 있는점 미리 양해 부탁드립니다
MP인베스트 참여했더니 투자로 월급보다 돈을 더 받으니 직장다니기싫네요..
#1:12:40 13.메시지 박스에서요 "from tkinter import * "가 있어서 tkinter의 모든 내용을 가져왔는데 왜 따로 메시지박스를 임폴트 해오나요?
주피터노트북 환경에서 예제를 따라하고 있습니다. 혹시 어려움을 겪으시는 분이 있을까하여 댓글 남깁니다.
1. 버튼에서 PhotoImage(file = "guI_basic/img.png") 을 했을 때 파일을 찾을 수 없는 오류가 뜨고,
2. PhotoImage(file = "img.png")을 했을 때 "pyimage3" doesn't exist 오류 발생하신다면
PhotoImage(file="img.png, master=root) 로 루트(최상위) 항목의 변수명을 master로 넣어주면 해결가능합니다.
주식으로 손해 많이봤었는데 MP인베스트 정보받고 거의다 복구했네요 다행이다
안녕하세요 강의 잘 보고 있습니다. 강의 따라하고 기타 설정한것도 없는데 Qt: Untested Windows version 10.0 detected! 경고가 계속 나오는데 해결이 않됩니다. 시간되실때 한번 봐주시면 감사하겠습니다. 수고하세요~
SyntaxError: invalid syntax 버그 해결 방법
원인은 정확하게 저도 잘 모르지만 위젯을 끄더라도 프로그램이 내부적으로 실행되는 버그인거 같습니다.
해결방법
1. 비쥬얼 스튜디오 코드를 재실행한다.
2. 터미널에 exit() 를 입력한다.
나도코딩님 부탁드립니다. 파이썬 자체 프로그램 깔았을때는 모듈 실행하기가 어려워 다시 비쥬얼스튜디오를 깔았더니 옵션창 구분해놓기가 힘드네요
비쥬얼스튜디오는 무료인데 설치방법과 욥션 설명등이 부족한것 같은데 설명좀 자세히 부탁드려도 될까요?
좋은영상 감사합니다.
22.6.18일 기준
keyboard 라이브러리를 다운 받으려고 해서 터미널에 pip install keyboard를 입력했습니다.
정상적으로 0.13.5 버전이 다운되는 걸 확인했는데 막상 임포트하려하니 keyboard 대신 keyword가 있습니다;;(함수도 안 되고...)
이런 경우는 뭔 경우인가요
파일 추가를 사용하지않고 드래그 앤 드롭으로 편하게 할 수는 없나요?
자체적으로 드래그 앤 드랍 기능을 제공하지는 않구요, tkdnd2 (tkinter drag and drop) 을 설치하여 원하시는 동작 구현이 가능해 보입니다. 간략한 설명과 예제 코드가 있는 링크를 드릴테니, 페이지 맨 아래쪽 부분 참고해주세요^^
stackoverflow.com/questions/14267900/python-drag-and-drop-explorer-files-to-tkinter-entry-widget/46865239
tkdnd2라는 것이 pip로 해봤는데 없는 건지 다운이 안되네요. 어디 다른방법으로 다운해야 하는건가요?
진짜 개발자님들 존경합니다ㅋ
저는 포기하고 노코드 기술을 기다려볼께요ㅠ 너무 어렵네요 흑흑
강의를 계속 들으면서 PROBLEMS에 보면 기본적으로 하기의 메시지가 뜹니다. 물론 실행에 문제는 안되는 것 같습니다만...혹시 해결 방법이 있을런지요?
'from tkinter import *' used; unable to detect undefined names
'Tk' may be undefined, or defined from star imports: tkinter
'Button' may be undefined, or defined from star imports: tkinter
나도코딩님 영상 정말 감명 깊게 시청했습니다.
정말 감사드립니다.
나도코딩님 강의를 똑같이 코딩하면서 강의를 시청했습니다.
그런데 제가 작성한 화면에서 2가지 잘못되고 있는 부분이 있어서 질문드립니다.
첫번째 질문은 파일추가시에 파일이 한개만 선택됩니다. 전체선택 및 복수개 파일이 선택이 안됩니다.
두번째 질문은 파일은 선택하면 내용이 한줄로 display되지 않고 아래로 한글자씩 display되는데
원인을 잘 모르겠어서 댓글로 질문드립니다. 해결책을 주시면 정말 감사하겠습니다.
즐거운 시간되세요.
안녕하세요 tkinter를 이용해서 프로젝트 진행중에 text에 한글을 입력시 발생하는 어려움이 있어 질문을 드립니다.
text안에 한글을 입력하면 영문과 다르게 한글자가 완성되기 전에는 작은 사각형안에 글자가 만들어지는데 영문처럼 바로 입력할 수 있는 방법이 있을까요?
저도 해당 현상의 이해가 어려워서 질문이 어렵게 느껴지실텐데 tkinter text에 영문과 한글을 번갈아 처보시면 이해가 되실거에요.
if img_width >-1:
image_sizes = [(int(img_width), int(img_width * x.size[1] / x.size[0])) for x in images]
else:
image_sizes = [(x.size[0], x.size[1]) for x in images]
widths, heights = zip(*(x.size for x in images))
파이썬 vscode를 사용하고 있습니다!
unzip하기 위한 코드 zip(*(x.size for x in images))
여기에서 저는 x.size for x in images 이 부분을 image_sizes를 넣어도 될 것 같아 해보았습니다.
그러나 에러가 발생했습니다. 이미 image_sizes에는 [(x.size[0], x.size[1])] 이것이 [(a,b)] 형식으로 저장된 것으로 생각해서 unzip하면 분리될 것이라 생각했는데 아니었나 봅니다. 이것이 왜 안되는 건 지 설명해주실 수 있나요??
나도코딩님의 여러가지 영상을 참고해서 민원관리 프로그램을 만들어보고 있습니다.
지난번 두개버튼으로 두개의 프레임 안에 각각 이미지를 집어넣는게 잘 안되어 질문댓글을 올렸었는데...시행착오 끝에 해결해서 댓글을 지웠습니다.
덕분입니다. 감사합니다.
그런데 이제는 다른게 제 발목을 잡습니다.
추가버튼으로 이미지를 추가하고 나서 삭제버튼으로 이미지를 삭제하는 버튼을 만드려고 하는데 작동을 안합니다.
오류는 안뜨는데 어떻게 된 영문인지 모르겠습니다.
그냥 추가버튼을 누르지않고 삭제버튼만 눌렀을때는 잘 작동하는 것을 볼 수 있었습니다.
아래는 제가 작성한 코드입니다.
바쁘시겠지만..잘 부탁드립니다.
from tkinter import *
import tkinter.ttk as ttk
from tkinter import filedialog
minwon_acc = Tk()
minwon_acc.title("접수")
minwon_acc.geometry("920x800")
#minwon_acc.option_add("*Font", "HY목각파임B 15")
############### 민원접수 ################
frame_info = Frame(minwon_acc, relief="solid", bd=1)
frame_info.pack(side="left", fill="y", padx=3)
# 민원구분
opt = ["일반민원", "공사건의", "기타문의"]
cmb = ttk.Combobox(frame_info, state="readonly", values=opt, width=8)
cmb.current(0)
cmb.grid(row=0, column=0, padx=5, pady=5)
#등록버튼
btn_add = Button(frame_info, text="접수", width=15, height=2)
btn_add.grid(row=0, column=3, padx=5, pady=5)
# 이름 입력란
name = Label(frame_info, text="성명")
name.grid(row=1, column=0, padx=10, pady=10)
txtn = Text(frame_info, width=10, height=1.5)
txtn.grid(row=1, column=1, padx=10, pady=10)
# 전화번호 입력
phone = Label(frame_info, text="전화번호")
phone.grid(row=1, column=2, padx=10, pady=10)
txtp = Text(frame_info, width=20, height=1.5)
txtp.grid(row=1, column=3, padx=10, pady=10)
# 해당마을 입력
vil = Label(frame_info, text="해당마을")
vil.grid(row=2, column=0, padx=10, pady=10)
txtv = Text(frame_info, width=10, height=1.5)
txtv.grid(row=2, column=1, padx=10, pady=10)
# 위치 입력
loc = Label(frame_info, text="건의위치")
loc.grid(row=3, column=0, padx=10, pady=10)
txtl = Text(frame_info, width=45, height=1.5)
txtl.grid(row=3, column=1, columnspan=3, padx=10, pady=10)
# 건의내용 입력
sug = Label(frame_info, text="건의내용")
sug.grid(row=4, column=0, padx=10, pady=5)
txts = Text(frame_info, width=58, height=15)
txts.grid(row=5, column=0, columnspan=4, padx=10, pady=5)
# 기타메모사항 입력
memo = Label(frame_info, text="참고사항")
memo.grid(row=6, column=0, padx=10, pady=5)
txtm = Text(frame_info, width=58, height=15)
txtm.grid(row=7, column=0, columnspan=4, padx=10, pady=5)
#버튼합수정의##################################################################################################
def add_img(arg): #파일선택을 안하고 창닫기로 나오면 기존은 text도 사라짐...어떻게하지?ㅠㅠ
if arg==1:
global p1
images = filedialog.askopenfilename(title="이미지 파일을 선택하세요", filetypes=(("PNG 파일","*.png"),("모든 파일", "*.*")), initialdir=r"C:\Python39\python project\사진")
p1 = PhotoImage(file=r"{}".format(images))
labelm.config(image=p1)
elif arg == 2:
global p2
images = filedialog.askopenfilename(title="이미지 파일을 선택하세요", filetypes=(("PNG 파일","*.png"),("모든 파일", "*.*")), initialdir=r"C:\Python39\python project\사진")
p2 = PhotoImage(file=r"{}".format(images))
labelp.config(image=p2)
else:
pass
def del_img(arg): # 아직 미완성 그냥은 작동을 하는데 추가버튼을 누르고 삭제버튼을 누르면 작동을 안함 왜이렇지?
if arg == 1:
labelm.config(text="위치도를 삽입하시오")
elif arg==2:
labelp.config(text="사진를 삽입하시오")
else:
pass
############# 위치도, 사진 영역 ####################
frame_img = Frame(minwon_acc, relief="solid", bd=1)
frame_img.pack(side="left", fill="both", ipadx=120)
# 위치도
frame_map = Frame(frame_img, relief="solid", bd=1)
frame_map.pack(fill="x")
# 위치도 레이블
label_mloc = Label(frame_map, text="위치도")
label_mloc.pack(side="left",padx=5, pady=5)
# 위치도 삭제버튼
btn_delm = Button(frame_map, text="삭제", width=10, height=2, command=lambda : del_img(1))
btn_delm.pack(side="right",padx=5, pady=5)
# 위치도 추가버튼
btn_addm = Button(frame_map, text="추가", width=10, height=2, command=lambda : add_img(1))
btn_addm.pack(side="right",padx=5, pady=5)
# 위치도 이미지 영역
frame_mloc = Frame(frame_img, relief="solid", bd=1)
frame_mloc.pack(fill="both", expand=True)
labelm = Label(frame_mloc, text="위치도를 삽입하시오")
labelm.pack(expand=True, fill="both")
#현장사진
frame_pic = Frame(frame_img, relief="solid", bd=1)
frame_pic.pack(fill="x")
#사진 레이블
label_spot = Label(frame_pic, text="현장사진")
label_spot.pack(side="left")
# 사진 삭제버튼
btn_delp = Button(frame_pic, text="삭제", width=10, height=2, command=lambda : del_img(2))
btn_delp.pack(side="right",padx=5, pady=5)
# 사진 추가버튼
btn_addp = Button(frame_pic, text="추가", width=10, height=2, command=lambda : add_img(2))
btn_addp.pack(side="right",padx=5, pady=5)
frame_spot = Frame(frame_img, relief="solid", bd=1)
frame_spot.pack(fill="both", expand=True)
labelp = Label(frame_spot, text="사진을 삽입하시오")
labelp.pack(expand=True, fill="both")
minwon_acc.mainloop()
기본 내용강의까진 잘 배웠는데 파이게임부터 조금 설명이 부족해지면서 활용편2는 알아듣지 못하겠습니다.
나도코딩으로 취미로 프로그래밍 입문함. 설마 프로그래밍에 이정도로 재미 느낄줄은 몰랐음. 후원은 안받나요? 얼마라도 후원하고싶은데.
^^ 제 작은 노력으로 누군가를 프로그래밍 세계로 초대했다는 것이 너무 기쁩니다. 마음만으로도 감사하며, 하루 빨리 파이썬과 친해지셔서 제 후임으로 오시면... ?!!!!!
25번에서 PIL을 사용해서 스크린샷을 만들었는데 PIL이 적용되지 않고 노란색 밑줄만 뜨는데 어떻게 해야 할까요...
카톡MP73 검색하고 MP인베스트 참여했는데 혼자 주식으로 손실본거 다 매꾸고도 남았네요 ㅎㅎ
이게 무료강의가 맞나..,
강의 코드만 따라서 폴더에 저장해놔도 필요한 정보 있을 때 마다 바로바로 찾아볼 수 있는 마법..
안녕하세요 저는 html, css, js 정복하고, 이제 파이썬을 입문하여 연습 프로젝트를 만들고 있는데, 메모장에서 선택한 파일을 불러 올 수 있게 하려면 어떻게 해야하나요?(tkinter 기준으로 부탁드립니다.)
안녕하세요 강의 잘 듣고 있습니다. 현재 레이블 섹션을 듣고 있는데 함수 change를 정의하고 photo2를 전역함수화를 했는데 노란 줄이 생기네요 Error는'photo2' is not defined in the global scopePython(variable-not-defined-globally)
라고 뜹니다. 이 부분을 어떻게 해결할 수 있을까요?
감사합니다. 너무 꼼꼼히 설명해주신 덕에 지겹게(^^) 잘보았습니다. ㅋㅋ "
여기서 퀴즈 드리겠습니다.
퀴즈:
if 지겹다 != 지루하다:
result = True
elif
result=False
정답: result is True
그나저나 나코님...다름이 아니오라...
활용편1에서 보면 교육과정이
라이브러리 기초 문법
-8개의 실전 프로젝트
머신러닝, 데이터 분석, 업무 자동화, 아두이노 RC Car, 얼굴인식 등 이라고 하셨는데요..
머신러닝 part부분부터는 언제쯤 계획을 잡고 계신지...(멘붕 오시지 마시고요..ㅜㅜ)
정주행을 하다보니 살짝 과속을 하고잡은...마음이..
여유가 없으시면... 음..
살짝 개념 정도는 특강으로 올려 주시는 것도...
(머~ 8개 실전 프로젝트도 아니구만요.... 끝에 "등"
활용편 업로드 순서 및 프로젝트 내용은 이렇습니다.
1. 게임 개발
- 오락실에서 하던 Pang 게임
2. GUI 프로그래밍
- 영상에서 캡처한 이미지들을 하나로 합치는 프로그램
3. 웹스크래핑
- 내가 원하는 뉴스를 매일 자동으로 긁어오는 프로그램
4. 업무자동화
- 엑셀, 인터넷, 데스크탑 등 컴퓨터에게 일을 시키는 스크립트
5. 데이터 분석 및 시각화
- 빅데이터를 활용한 대한민국의 인구 문제 분석
6. 얼굴 인식
- 이미지 / 영상에서 얼굴을 인식하여 얼굴 위에 재밌는 캐릭터 씌우기
7. 머신러닝
- KNN 을 통해 사용자별 영화 추천 시스템 개발
8. 사물인터넷
- 아두이노를 활용한 RC Car 제작
각 편당 업로드 주기는 1달 반으로 잡고있구요, 계획대로라면 머신러닝은 내년 초에 올릴수 있겠습니다.
아쉽지만 특강은 예정에 없구요 ^^; 머신러닝 활용편 때 기본 개념에 대해서 충분히 설명을 드릴수 있도록 하겠습니다.
늘 밝은 댓글 감사드립니다!
아... 그리고 엄청난 속도로 벌써 완주를 ㄷㄷㄷㄷ 음속에 가까운 실행력에 감탄합니다. 학습해주셔서 감사합니다 ^^
@@nadocoding 아아~~ 친절한 답변 감사합니당~~^^ -- 쭉~ 한번 다시 보겠습니당~
나도코딩님 강의 정말 잘 보고 있습니다!!
질문이 하나 있는데요..
메모장 만들기에서 입력할때 영어는 입력이 잘 되는데 한글은 입력하면 입력값과 눈에 보여지는 값이 한박자(글자?)씩 차이가 나서 보여지네요..
제가 맥북을 사용중이라서 그런거 같은데 혹시 해결방법이 없을까요..?