tkinter에서 창이나 창부품의 크기 또는 여백을 지정할때width=100이라고 지정하면 100픽셀(pixel)을 의미하고,width="100m"이라고 지정하면 100미리미터(mm)를 의미한다.1mm는 약3.77pixel과 같다. width, height, padx, pady, ipadx, ipady등 크기 및 여백을 지정하는 속성에서 두가지단위 모두 사용가능하다. 아래 예제에서 생성된 2개의 창은 같은크기이다.01020304050607080910# -*- coding : cp949 -*-from tkinter import * app1=Tk()app1.configure(width="100m",height="100m")app1.mainloop() app2=Tk()app2.configure(width=37..
Python, tkinter 간단히 사용하기 001python3.2.2>> 간단한 창띄우기 packing packing>그릇(containers)와 창부품(widgets)123456789# -*- coding : cp949 -*-from tkinter import * root = Tk() F = Frame(root) #root와 F의 논리적은 부모자식관계 정의F.pack() #F를 packing하여 시각적으로 보여지도록 함 root.mainloop()실행 tkinter의 최소,최대크기를 지정하지 않으면, 창부품의 여부에 따라 창크기가 자동으로 조절된다.6행 : root와 F는 논리적인 부모자식관계가 정의된다.7행 : 논리적인 부모관계에서 시각적인 관계로 설정한다.즉, 어플리케이션에 보여지도록 설정한다. ..
외부로 공개할 함수나 클래스 등의 코드를 작성하다 보면, 설명을 아주 자세히 붙어야 할 경우가 많이 있다.심지어는 자세한 설명이나 예제코드조차도 주석으로 자세히 작성해야 할 경우가 많이 있다.이런 예제코드 조차 테스트 데이터로 쓸수 있게 해주는것이 doctest모듈이다. 아래와 같이 div()함수를 만든후 함수에 대한 설명은 물론 예제들도 주석으로 처리하였다.0102030405060708091011121314151617181920212223242526def div(x,y): """ This function is to divide x into y. [examples] >>> div(1,2) 0.5 >>> div(4,3) 1.3333333333333333 >>> div(-1,4) -0.25 >>> div(5..
pydoc은 자동으로 help()함수와 거의 동일한 스타일의 도움말을 생성해주는 툴이다.다음과 같이 프롬프트상에서 입력하면 해당 모듈에 대한 설명을 볼수 있다.C:\Python32\Lib>pydoc.py tkinterHelp on package tkinter: NAME tkinter - Wrapper functions for Tcl/Tk. DESCRIPTION Tkinter provides classes which allow the display, positioning and control of widgets. Toplevel widgets are Tk and Toplevel. Other widgets are Frame, Label, Entry, Text, Canvas, Button, Radiobutto..
HTTPServer서버 객체를 생성시 핸들을 지정해준다핸들은 BaseHTTPRequestHandler로 http의 기본적인 응답을 할수 있는 기능들이 들어있다.class http.server.HTTPServer((server_address,port),RequestHandlerClass)serve_forever()메서드를 실행하면 서버는 요청을 기다리게 된다.그리고 요청이 들어오면 등록된 핸들러에 요청정보를 전달해준다.아래예제는 http서버가 클라이언트에 어떻게 응답을 반환하는지, 어떻게 응답을 만드는데 유용한 지역요소를 포함하는지 보여준다.import http.serverfrom urllib.parse import urlparse class MyHandler(http.server.BaseHTTPReque..
http://dev.naver.com/openapi/ #openAPI정보 확인https://dev.naver.com/openapi/register #openAPI를 사용하기 위한 키 등록/관리네이버에서 openAPI서비스를 이용하기 전에 우선 key를 발급받아야한다위의 URL로 들어가 서비스이용에 필요한 key를 발급받은후http://dev.naver.com/openapi/apis/search/위 URL에서 검색하고자 하는 목록을 확인후 필요한 변수값을 확인하면 된다.간단한 예부터 보겠다. 아래에 보이는 [key]부분은 네이버에서 발급받은 key값을 넣어주면 된다.http://openapi.naver.com/search?key=[key]&target=movie&query=batman&display=1UR..
로우 레벨(low-level) 네트워킹 인터페이스이다.socket은 아주 오래 전부터 사용된 개념이기 때문에 유닉스, 윈도우, 리눅스를 포함한 대부분의 플랫폼에서 사용할수 있다.아래는 소켓으로 만든 간단한 서버와 클라이언트 예제이다ex) socket_server.py : 소켓을 이용한 서버# -*- coding : cp949 -*-import socket HOST='' #호스트를 지정하지 않으면 가능한 모든 인터페이스를 의미한다.PORT=50007 #포트지정s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)s.bind((HOST,PORT))s.listen(1) #접속이 있을때까지 기다림conn, addr=s.accept() #접속 승인print('Connected ..
Python3.2.2사용 이메일을 이해하려면 우선 MIME부터 살펴볼 필요가 있다.MIME(Multipurpose Internet Mail Extensions)는 전자우편을 위한 인터넷표준 포맷이다. 이메일 전송 프로토콜인 SMTP는 개발될 당시 단지 7비트 아스키문자만을 보낼수 있게 설계되었다. 즉 영어 이외의 언어는 전자우편을 제대로 보내고 받을수 없었다.인터넷이 발전하면서 다양한 요구가 늘어났다. 비영어권 언어도 전자메일을 사용할수 있고, 파일을 첨부할수 있어야 했다. MIME는 아스키가 아닌 문자 인코딩을 이용해 영어가 아닌 다른 언어로 된 전자우편을 보낼수 있는 방식이다.또한 그림, 음악, 영화과 같은 바이너리파일을 이메일로 보낼수 있다.이메일을 작성할때 몇줄 되지 않는 글과 작은 이미지 파일을..
Python3에서기본적으로 urllib 모듈을 통해서 끌어온 데이터는 byte형이다 linux에서는 기본 encoding이 utf-8이라 특별히 문제가 되지 않지만(linux에서 python3는 확인을 못해봐서 모르겠다)window에선 기본encoding이 cp949라서 urllib모듈을 통해 가져온 문자열이 byte형태로 변해서 육안으로 확인이 힘들어진다이때 decode('utf-8')을 이용해서 byte('utf-8')형태의 데이터를 decoding해줌으로서 문자열을 육안으로 확인이 가능하다 즉, 웹에서 사용하는 인코딩은 utf-8이고python3에서 사용하는 인코딩은 unicode이다.그래서 웹에 있는 문자열을 그대로 가지고 오면 utf-8형태의 문자열이기 때문에 bytes클래스로 취급을 한다.따라..
- Total
- Today
- Yesterday
- onetomany
- ManyToOne
- 리눅스
- borderwidth
- FetchType
- checkbutton
- activeforeground
- Java
- Python
- Excel
- disabledforeground
- apache
- highlightthickness
- 파이썬
- Linux
- indicatoron
- 상수
- IdClass
- 폼
- activebackground
- command
- vba
- tkinter command & bind [명령어묶기와 사건묶기] Python
- Private
- fetch join
- tkinter
- Composite Key
- highlightbackground
- Module
- JPA
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |