노력과 삽질 퇴적물

파이썬: 기초정리 (3) 본문

프로그래밍note/언어. 스크립트 계열

파이썬: 기초정리 (3)

MTG 2013. 5. 18. 00:50

파이썬: 기초정리 (1)

파이썬: 기초정리 (2)

파이썬: 기초정리 (3)

파이썬: 기초정리 (4)






1. 윈도우와 GUI


* python 2.7.4기준입니다.

* 라이브러리별 장/단점과 특징은 다른글을 참조/요약한겁니다.


 ① 파이선 GUI관련 라이브러리

Tkinter

 간단하고 배우기 쉬움.
 파이썬 2.7에서, ttk 지원(위젯 테마)이 추가
 GUI 디자이너가 다른 도구만큼 기능이 충실하지는 않음

PyGTK

 리눅스 중심.
 OpenGL 지원

PyGObject

 리눅스 중심.
 GTK3, PyGTK를 대체. GTK로 개발하려면 PyGObject에서 사용가능한 GObject-Introspection 기능을 사용하기를 권장
 http://article.gmane.org/gmane.comp.gnome.gtk%2B.python/15449

wxPython

 크로스 플랫폼
 Tkinter에 비해 기능이 충실 & Wxwidgets 라이선스
 C++로 작성된 wxWidgets 툴킷의 파이썬 버전

PyQt

 크로스 플랫폼

 OpenGL 지원

 각 플랫폼별 테마에 근접한 위젯 & CSS 사용 가능

 JavaScript, QML 등 가장 충실한 기능

 GPL 라이선스(상업적인 라이선스 가능)

 QtDesigner (Nokia에서 제작) 및 Python으로 변환하는 유틸

PySide

 크로스 플랫폼
 API는 PyQT와 흡사하지만, '새로운 방식'의 PyQT API만 지원



 ② 기본 GUI 작성

* 기타 링크: Python GUI Programming (in tutorialspoint)

# -*- coding: utf-8 -*- from Tkinter import *

################################################## #최상위 위젯

#

#border는 윈도우내 프레임의 외부 테두리(투명)값?

#pack(): 레이아웃 관리자 요청하는 함수. 프레임이 위젯 크기에 맞게 크기조정

################################################## top = Tk()                       pyTopFrame = Frame(top, border=0)#프레임 위젯 pyTopFrame.pack() #pyTopFrame.pack(side='left') pyTopFrame.master.title("파이썬: 기초정리")

################################################## #하위 위젯

#pyLabelText = Label(F, text=unicode("Hello world",'mbcs'))

#터미널 인코딩은 알고, GUI의 인코딩을 모를 경우

#pyLabelText = Label(F, text="Hello world".encode('utf-8'))

#GUI의 인코딩은 알고, 터미널 인코딩을 모를 경우

################################################## pyLabelText = Label(pyTopFrame, text="파이썬 스타일~")

pyLabelText.pack() pyLabelText = Label(pyTopFrame, text="2013-05-29") pyLabelText.pack()   pyAttachFrame = Frame(pyTopFrame) pyText = Entry(pyAttachFrame) pyAttachFrame.pack(side="top", expand="true") pyText.pack(side="top", expand="true")   pyBtnQuit = Button(pyTopFrame, text="버튼예시1") pyBtnQuit.pack(side="left", padx=10, pady=10) pyBtnQuit = Button(pyTopFrame, text="종료", command=pyTopFrame.quit) pyBtnQuit.pack(side="bottom", padx=10, pady=10)   ################################################## #메인루프 ################################################## top.mainloop()



 ③ 메시지 박스

showinfo

showerror

askcancel

# -*- coding: utf-8 -*-
 
import tkMessageBox
#tkMessageBox.showinfo("메시지 박스, 알림", "이 메시지박스는 알림창입니다.")
#tkMessageBox.showerror("메시지 박스, 경고창", "이 메시지박스는 경고창입니다.")
tkMessageBox.askokcancel("메시지 박스, 확인/취소", "이 메시지박스는 확인/취소창입니다.")



 ③ *.exe로 만들기
-> 파이썬이 설치되지 않는 컴퓨터(윈도우등)에서도 파이썬으로 작성된 프로그램을 실행할수 있다.

필요한 프로그램: py2exe/cx_Freeze/pyInstaller중 택1








2. 스레드


(정리중)




3. 응용


① 네트워크

Learning to program, 네트워크 프로그래밍

Learning to program, 웹 클라이언트 작성하기

Python CGI Programming



② 프로세스

Learning to program, 프로세스간 통신



③ DB

MySQL

오라클

MS-SQL

 MySQL Python tutorial

 Connecting to MySQL with Python | Scripting MySQL

 Using Python With Oracle Database 11g


 



-> Python Programming/Database Programming - Wikibooks, open books for an open world






4. 쟝고(Django)


(정리중)






기타. 읽을거리


메일 서비스 파이썬 적용 경험

파이썬과 다른 언어들과의 비교 - 점프 투 파이썬






기타. 참고자료


'파이썬 프로그래밍 연습' 웹 자습서(Learning to program)


점프 투 파이썬 PDF판

위키독스, 왕초보를 위한 Python 2.7

Pygtk VS Pyqt VS WxPython VS Tkinter


SQLite Python tutorial






기타. 변경이력


일자

변경이력

2013-05-18

 초안

'프로그래밍note > 언어. 스크립트 계열' 카테고리의 다른 글

ANE: 안드로이드용 AIR 개발설정  (0) 2013.11.28
파이썬: 기초정리 (4)  (0) 2013.05.26
파이썬: 기초정리 (2)  (0) 2013.05.08
파이썬: 기초정리 (1)  (2) 2013.05.07
HTML: html태그 기초  (0) 2012.08.01