
XML ?XML은 언어이다.XML은 스스로 그렇게 생각하지만 프로그래밍 언어는 아니며 ,XML 기반으로 실제 프로그래밍 언어를 구축할 수 있지만 본래의 영역은 아니다.XML은 JSON과 마찬가지로 모든 유형의 데이터를 전달하고 보편적이고 투명한 수단이다. XML을 사용하여 거의 모든 유형의 문서를 저장하고 전송할 수 있다.예를 들어 MS Office 애플리케이션에서 생성되는 docx 처럼 x로 끝나는 최신버젼의 문서 형식은 XML을 이용하여스프레드 시트나 프레젠테이션, 텍스트와 같은 다양한 데이터를 생성한다. XML은 JSON보다 훨씬 오래되었다.게다가 더 무겁고 유연성이 떨어진다. 1 Ford Mustang 1972 35900 ..

JSON?JSON은 어떤 프로그래밍 언어를 사용했는지 중요하지 않다.겉보기에는 호환되지 않는 것 처럼 보이는 당사자들 간의 데이터의 이동을 돕는 일종의 범용 브리지이다.JSON은 객체 또는 객체 집합의 내용인 데이터를 전송해야하는 아주 기본적 요구에 대한 해답으로,이 문제를 해결하는 메커니즘은 이식성이 뛰어나고 플랫폼에 독립적이여야한다. 우리가 해결해야할 문제는 네트워크 전송, 플랫폼 간의 변환을 견딜수 있는 방식으로 객체 또는 단일 값을 표현하는 방법이다.JSON은 해당 문제를 두가지 간단한 방법을 이용하여 해결한다.UTF-8로 코딩된 텍스트를 사용한다.즉 기계/플랫폼에 종속적인 형식이 아니고, 또한 사람이 잘 읽을 수 있는 형식을 의미한다.객체의 서로 다른 부분간의 상호 종속성과 관계를 표현하기 위해..

Canvas ?마지막으로 알아보고자 하는 위젯은 Canvas 이다.그림, 텍스트,프레임, 그리고 다른 위젯으로 덮을 수 있는 평평한 직사각형의 표면이다. 해당 위젯은 스스로 스크롤 하고 다양한 이벤트에 반응할 수 있다.Canvas는 필요한 것은 모두 갖추고 있다.1. Canvas 생성import tkinter as tkroot = tk.Tk()canvas = tk.Canvas(root, width=400, height=400, bg="yellow")canvas.create_line(10, 380, 200, 10, 380, 380, 10, 380)button = tk.Button(root, text="Quit", command=root.destroy)canvas.grid(row=0)button.grid(r..

* 메인 창 구성메인창은 특수한 구조로 사용자(tkinter)와 운영체제 두 주인간의 공유된다.즉, 다른 위젯처럼 사용자가 메인 창을 관리할 수 없고, 운영 체제는 사용자가 메인 창에서 하는 모든 작업을 인식해야 한다.1. title변경할 수 있는 속성은 제목이다.제목은 직접 설정하지 않더라도 기본적으로 Tk로 설정된다.샘플 코드는 창을 보일때마다 제목이 바뀌는데, 10번 클릭후 제목이 유지된다.import tkinter as tkdef click(*args): global counter if counter > 0: counter -=1 root.title(str(counter))counter = 10root = tk.Tk()root.title(str(counter))root.bind("", ..

가장 중요한 메뉴의 특징에 대해 요약해보자.클래식한 메뉴는 실제로 어플리 케이션 창의 맨 위에 위치한 수평 막대이다.막대에는 항목이라하는 수평으로 배치된 여러 옵션들을 포함한다.이러한 옵션에는 사용자가 마우스를 사용하지 않고도 작업에 액세스 할 수 있도록 키보드 단축키(핫키. hot-keys) 가 있을 수 있다.메뉴의 옵션을 단축키던 마우스던 선택하면 두가지 효과 중 하나가 발생한다.옵션에 바인딩된 콜백을 싲가한다.새로운 메뉴(하위 메뉴)가 펼쳐진다.tkinter 애플리케이션에서 메뉴를 만들고 싶다면 다음을 수행해야한다.최상위 메뉴 객체를 생성한다.창안에 삽입한다.여러개의 필수 하위메뉴를 바인딩(cascade)하거나 단일 콜백을 연결한다. 1. 메인 창에 메뉴 만들기import tkinter as tkf..
다음으로 살펴볼 위젯은 클릭 불가능한 위젯이다.텍스트의 정보를 표시하도록 설계되었고, command 속성은 가지고 있지 않지만.bind()메서드를 활용하여 유사한 동작을 시뮬레이션 할 수 있다.1. Labellabel_object = tk_object.Label(master_object, option,...) label은 두가지 사용 가능한 속성이 있지만. 두 속성중 하나만 사용해야 한다는 것을 기억해야한다.레이블 속성(property)속성의 의미text줄바꿈 문자는 문자열 안의 \n으로 표기한다textvariable위의 text와 동일하지만,관찰 가능 변수(StringVar)를 사용하고 변경 사항이 화면에 즉시 표시된다. label의 경우 사용 가능한 메서드가 없다.import tkinter as tk..