'컴퓨터 언어/Python'에 해당되는 글 7건

  1. 2013.01.08 PyGame으로 기본 창 띄우기 by 똘이 임덕규
  2. 2013.01.06 Tkinter 를 이용, 간단한 이미지 뷰어 제작 by 똘이 임덕규
  3. 2013.01.06 Button Module by 똘이 임덕규
  4. 2013.01.05 창 띄우기 by 똘이 임덕규
  5. 2013.01.05 media 모듈을 이용한 이미지 띄우기 by 똘이 임덕규
  6. 2012.10.03 파이썬 학습과제 - 1 by 똘이 임덕규
  7. 2012.09.28 파이썬 실행 해보기 by 똘이 임덕규

PyGame 라이브러리에서 제공하는 기능을 사용할 수 있는 창을 만들었다. 저기 안에서 그림들이 움직일 것이다.

import pygame, sys
from pygame.locals import *

pygame.init()                   # pygame 초기화
DISPLAYSURF = pygame.display.set_mode((400, 300)) # 화면크기 설정
pygame.display.set_caption('Hello World')         # 윈도우 타이틀 설정

while True:
    for event in pygame.event.get(): # 입력에 대한 이벤트가 있을 경우
        if event.type == QUIT:       # 종료시 입력시
            pygame.quit()            # pygame을 종료한 후
            sys.exit()               # 프로그램 종료
        pygame.display.update()      # 화면 갱신

  • Pygame.init()
    • 모듈 가져오기 이후 꼭 불러와야 할 초기화 함수
    • 이 함수가 무엇을 하는지는 우리가 알 필요는 없다.
  • DISPLAYSURF = pygame.display.set_mode((400, 300))
    • pygame.display.set_mode()는 pygmae.Surface 객체를 반환한다.
    • 터플형으로 들어있을 두 개의 정수는 픽셀 단위로 창의 가로, 세로 길이를 정한다.
    • 터플형으로 들어가 있어야 함을 잊지 말자.
  • 프로그램을 실행 및 지속 시키는 유일한 방법은 while loop로 프로그램을 두는 것이다.
    • 실행중인 프로그램에서 나가는 방법은 break문을 동작하게 만들어 두는 것이다.
    • 이것은 main game loop또는 main loop라 불리고 아래의 일들을 하게된다.
      • 이벤트 처리
      • 게임 상태 갱신
      • 게임 화면을 그린다.
    • 아래와 같은 순환 구조를 가진다

    • for event in pygame.event.get():
      • 이벤트 함수가 for문에 원소들을 event에 대입 시키며 루프가 해당 이벤트가 있었는지 검사하게 되는데, pygame.event.get()은 입력 받은 값을 내보내고 있는것이다.
      • 이벤트가 일어나지 않으면 빈 리스트가 돌게된다.
    • sys.exit()함수를 부르기 전에 반드시 pygame.quit()를 실행하여 라이브러리를 올바로 종료시킨 다음 프로그램을 마친다.
    • pygame.display.update()
      • Surface 객체(화면)에 저장되어있는 바뀐 화면을 뿌린다.


저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

PyGame으로 기본 창 띄우기  (0) 2013.01.08
Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
TAG pygame, Python


앞서 잠시 살펴보고 버릴려고 했던 Tk 로 그래도 간단하게나마 뭔가 만들어나 볼까 해서 나온게 사진을 불러 올 수 있는 버튼과 사진크기 출력해주는 라벨만 가져다 붙였다.


디자이너 같은게 있다고 들었지만 딱히 파고들 만한게 아니였기 때문에 다른 툴은 사용하지 않았다. 이런 GUI 만들때는 무조건 디자이너 툴을 사용하는게 맞다는 생각이 든다.

# coding: utf-8
"""
Tkinter 와 media 모듈을 이용, 간단한 이미지 뷰어
버튼을 눌러 파일을 선택 및 이미지로 불러온 다음, 새창에 출력
메인 윈도우에는 이미지의 크기를 출력 
"""

from Tkinter import *
import media

class mainUI():
    def __init__(self, parent): # 생성자 시작
        self.parent = parent    

        # 라벨 값 변경을 위한 객체 선언
        self.picWidth = StringVar()
        self.picHeight = StringVar()
        
        self.initUI()
        
    def initUI(self):
        self.parent.title("Raven") # 메인 윈도우 타이틀 설정
        self.buttonLoadFile = Button(self.parent, # 부모 윈도우 설정
                                     text = "파일 불러오기", # 버튼 타이틀
                                     command = self.loadFile) # 클릭시 불러올 함수
        self.buttonLoadFile.place(x = 20, y = 10)

        # Label for height
        self.labelHeight = Label(self.parent, text = "Height : ") # 라벨 설정
        self.labelHeight.place(x = 20, y = 50) # 라벨 좌표
        self.labelInfoHeight = Label(self.parent, textvariable = self.picHeight) # 값 출력을 위한 라벨
        
        # Label for Width
        self.labelWidth = Label(self.parent, text = "Width : ")
        self.labelWidth.place(x = 20, y = 80)
        self.labelInfoWidth = Label(self.parent, textvariable = self.picWidth)

    def loadFile(self):
        self.pic_file = media.load_picture(media.choose_file()) # 파일을 선택하고 이미지로 불러들여서 객체화
        media.show(self.pic_file)                               # 이미지를 새창에 출력
        self.showInfo()                                         # 이미지 정보 출력을 위한 메소드콜
    
    def showInfo(self):
        self.picHeight.set(media.get_height(self.pic_file)) # Height
        self.labelInfoHeight.place(x = 80, y = 50)

        self.picWidth.set(media.get_width(self.pic_file)) # Width
        self.labelInfoWidth.place(x = 80, y = 80)

    # def loadFile(self):
    #     self.C = Canvas(self.parent)        
    #     self.pic_file = PhotoImage(file = media.choose_file())
    #     self.image = self.C.create_image(0, 
    #                                      0, 
    #                                      image = self.pic_file)
    #     self.C.pack()

def main():
    mainWindow = Tk()
    mainWindow.geometry("300x150+300+300") # 메인 윈도우의 창크기와 위치
    app = mainUI(mainWindow)
    mainWindow.mainloop()

if __name__ == "__main__":
    main()

저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

PyGame으로 기본 창 띄우기  (0) 2013.01.08
Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
TAG GUI, Python, TK, Tkinter


윈도우에 버튼을 추가하여 버튼의 이벤트로 글씨나 그림 또는 그림과 같이 메세지박스를 띄울 수 있다. 사용법은 아래와 같다.
button1 = Tkinter.Button(부모객체, 옵션명="")
button1 = Tkinter(top, text="hello")
버튼이라는 객체를 생성시 top을 부모 윈도우로 지정, hello라고 적힌 버튼을 만든다.

옵션

위 그림의 소스

# coding: utf-8
import Tkinter
import tkMessageBox             # 메세지 박스 모듈

top = Tkinter.Tk()

def helloCallBack():                      
   tkMessageBox.showinfo( "Hello Python", # 메세지박스 타이틀
                          "Hello World")  # 메세지 박스 내용

B = Tkinter.Button(top,         # 부모 객체
                   text ="Hello", # 버튼에 들어갈 텍스트
                   command = helloCallBack) # 호출할 함수

B.pack()
top.mainloop()

여기에 옵션을 넣어서 만든 버튼 예제.

위 버튼은 아래의 소스에 옵션들과 함께 정리해 두었다. 사용법을 알 수 없었던 Image 옵션은 나중에 알게되면 따로 수정.

# coding: utf-8
import Tkinter, Image, ImageTk
import tkMessageBox

top = Tkinter.Tk()

def helloCallBack():
   tkMessageBox.showinfo( "Hello Python", # 메세지박스 타이틀
                          "Hello World")  # 메세지 박스 내용

B = Tkinter.Button(top,         # 부모 객체
                   text = "Hello\nWorld", # 버튼에 들어갈 텍스트
                   activebackground = "Khaki", # 마우스가 위에 있을때 버튼 색
                   activeforeground = "red",   # 마우스가 위에 있을때 글자 색
                   bd = "5",                   # 버튼의 테두리 두께
                   bg = "yellow",               # 버튼의 평상시 배경 색
                   fg = "blue",                 # 버튼의 평상시 글자 색
                   font = ("verdana", "10"),            # 버튼의 글꼴
                   
                   height = "5",                        # 버튼의 크기
                   width = "10",                        
                   
                   highlightcolor = "black",
                   justify = "right", # 버튼의 글이 여러줄일때 어느쪽으로 맞출지 정함
                   # center, right, left
                   padx = "10",       # 간격
                   pady = "10",
                   relief = "ridge",        # 버튼 기본 모양
                   # sunken, raised, groove, ridge
                   
                   state = "active",      # 버튼을 사용, 또는 사용안함
                   #active (비활성화 모양이지만 사용할 수 있음), disable, normal

                   underline = "3",         # 4번째 글자에 밑줄
                   wraplength = "40",       # 글씨를 안보이는 가상 상자안에 싼다
                   
                   command = helloCallBack) # 호출할 함수

B.pack()
top.mainloop()
저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

PyGame으로 기본 창 띄우기  (0) 2013.01.08
Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03

# coding: utf-8

import Tkinter                  # Tkinter 모듈 가져오기

top = Tkinter.Tk()              # top 객체 생성

top.mainloop()                  # mainloop() 메소드 실행으로 창을 띄운다.

저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
파이썬 실행 해보기  (0) 2012.09.28
TAG GUI, pytk, TK, Tkinter


위와 같이 python에서 media 모듈을 이용하여 그림을 띄울려면, 우선 아래와 같이 모듈을 먼저 설치를 해 줘야 한다.

첫번째로 PyGraphics를 가져온다. 이때 svn 이 없을 경우 받아 올 수 없으니 유무에 따라 svn패키지를 설치한다.

sudo apt-get install subversion

PyGraphics를 저장소에서 가져온다.

svn checkout http://pygraphics.googlecode.com/svn/trunk/ pygraphics-read-only

현재 위치한 디렉토리에 pyrgraphic-read-only 라는 이름으로 가져오게 되며 다 받았으면 디렉토리에 진입하여 설치를 해준다.

python setup.py install --user

설치가 끝났으면 이제는 ampy를 받으로 간다. 아래 주소에서 ampy-1.2.3.tar.gz 또는 그 이상의 버전을 받도록 한다.

http://code.google.com/p/pygraphics/downloads/list


압축을 풀어주고 디렉토리에 들어가 설치를 해준다. 설치법은 위와 같다.

python setup.py install --user

아래의 패키지는 apt-get 을 이용하여 계속 설치

sudo apt-get install python-imaging python-numpy python-pygame 

여기까지 설치했으면 기본적인 사용기 가능하다. 하지만 아래의 에러 메시지를 만나면 tk 모듈 설치가 필요하다.


tk모듈 설치는 아래와 같다.

sudo apt-get install python-imaging-tk

실행을 위한 간단한 코드 입력

# coding: utf-8

""" 
media module을 이용한 사진 띄우는 소스.
tk 를 이용한다.

"""

import media                    # media 모듈을 불러온다.

def main():
    pic_file = media.choose_file()  # 파일선택창 띄우고 선택된 파일은 pic_file 객체에 넣는다.
    pic = media.load_picture(pic_file) # 사진을 불러 들여서 pic 객체에 최종적으로 넣고,
    media.show(pic)                    # 사진을 출력한다.

if __name__ == "__main__":
    main()

실행화면

이 부분이 media.choose_file() 함수가 하고,

Load하여 meda.show()함수가 이렇게 사진을 띄운다.

원본 출처(http://packages.python.org/PyGraphics/install.html)

Get PyGraphics:


svn checkout http://pygraphics.googlecode.com/svn/trunk/ pygraphics-read-only

In the main pygraphics folder, run the setup file to install PyGraphics to your local installation directory:

python setup.py install --user

Download ampy-1.2.3.tar.gz from the Downloads page , and follow the same procedure to install it as for PyGraphics.

Download and install Python’s imaging package, NumPy, and PyGame. They are available via apt-get:

apt-get install  python-imaging-tk python-numpy python-pygame

If you intend to run PyGraphic’s test suite, install Nose:

apt-get install python-nose

Now you and PyGraphics should be ready to make beautiful music (and pictures!) together.


저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
파이썬 실행 해보기  (0) 2012.09.28
TAG image, media, Python, TK
- Hello World를 dlroW olleH 로 뒤집어라.
문자열 슬라이싱의 속성을 이용. 한번에 바꿀 수 있다.

 

더보기


저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
파이썬 실행 해보기  (0) 2012.09.28
파이썬에는 두가지 모드가 있다.
  • 대화식 모드
    • 대화를 주고 받는 방식으로 작업을 진행하는 형식
  • 모듈파일 모드 또는 스크립트 파일 모드
    • 파일에 모든 프로그램을 다 작성해 두고 그걸을 한꺼번에 실행하는 방식

대화식 모드로 실행.

쉘에서 사용할 경우

$ python
>>> 4 + 5
9

>>> print 'Hello World'
Hello Wolrd

Emacs 에서 사용할 경우

M + x
python-shell




저작자 표시
신고

'컴퓨터 언어 > Python' 카테고리의 다른 글

Tkinter 를 이용, 간단한 이미지 뷰어 제작  (0) 2013.01.06
Button Module  (0) 2013.01.06
창 띄우기  (0) 2013.01.05
media 모듈을 이용한 이미지 띄우기  (0) 2013.01.05
파이썬 학습과제 - 1  (0) 2012.10.03
파이썬 실행 해보기  (0) 2012.09.28