헬로우 큐트 포 파이썬 (Hello Qt for Python)


원문 http://blog.qt.io/blog/2018/05/04/hello-qt-for-python/

번역 https://j2doll.github.io/Qt-for-Python-Docs-Kor/


첫 번째 Qt for Python의 기술 프리뷰 릴리스가 여기 있습니다!

그래서 파이썬 세계에 문을 여는 방법에 대한 간단한 예제를 제공하고자 합니다.

일단 QWidgets을 사용하여 Python용 Qt의 단순성을 보여주는 간단한 애플리케이션을 작성해 보겠습니다.


모든 스크립트의 구조는 다음과 같습니다:

일단 QApplication을 생성합니다.

그리고 나서 모든 QWidgets과 사용하려는 구조체를 포함합니다. (예> QLabel 등)

어플리케이션을 보여 주면서 QApplication를 시작합니다. 이런 아이디어를 하나로 합치면 다음과 같이됩니다.

# hello_world.py
from PySide2.QtWidgets import QApplication, QLabel
 
app = QApplication([])
label = QLabel("Hello Qt for Python!")
label.show()
app.exec_()


이를 실행하기 위해 간단한 python hello_world.py가 작업을 수행합니다.

이때 진짜 질문은 다음과 같습니다: Qt 클래스(class)의 메소드(method)에 액세스하는 방법은 무엇인가?

프로세스를 단순화하기 위해 Qt API를 유지합니다. 예를 들어, QLabel의 크기(size)를 지정하려면 C++에서 다음과 같이 됩니다.

QLabel *label = new QLabel();
label->setText("Hello World!");
label->resize(800, 600);

Python에서 Qt를 사용하는 방법은 다음과 같습니다:

label = QLabel()
label.setText("Hello World!")
label.resize(800, 600)

이제 C++와 동등하게 적용하는 방법을 알게 되었으므로, 보다 정교한 응용 프로그램을 작성할 수 있습니다.

import sys
import random
from PySide2.QtCore import Qt
from PySide2.QtWidgets import (QApplication, QWidget,
    QPushButton, QLabel, QVBoxLayout)
 
 
class MyWidget(QWidget):
    def __init__(self):
        QWidget.__init__(self)
 
        self.hello = ["Hallo welt!", "Ciao mondo!",
            "Hei maailma!", "Hola mundo!", "Hei verden!"]
 
        self.button = QPushButton("Click me!")
        self.text = QLabel("Hello World")
        self.text.setAlignment(Qt.AlignCenter)
 
        self.layout = QVBoxLayout()
        self.layout.addWidget(self.text)
        self.layout.addWidget(self.button)
        self.setLayout(self.layout)
 
        self.button.clicked.connect(self.magic)
 
    def magic(self):
        self.text.setText(random.choice(self.hello))
 
 
if __name__ == "__main__":
    app = QApplication(sys.argv)
    widget = MyWidget()
    widget.resize(800, 600)
    widget.show()
    sys.exit(app.exec_())

Qt 개발에 익숙하지 않다면, 특정 클래스를 확장하여 필요에 맞게 수정하는 것이 일반적입니다.

앞의 예제에서는 QWidget을 기본 클래스(base class)로 사용하고, QLabel과 QPushButton을 포함했습니다.


예제 응용 프로그램은 정말 간단합니다:

먼저 Hello World를 포함하는 목록을 다국어로 작성합니다.

그런 다음 QPushButton과 QLabel을 특정 정렬, 글꼴 및 크기로 초기화합니다.

그 다음, 우리는 객체를 포함하기 위해 QVBoxLayout을 생성하고 그것을 우리의 클래스에 할당합니다.

마지막으로 QPushButton의 clicked() 시그널(signal)을 magic이라는 메서드(method)에 연결합니다.

결과적으로 버튼을 누를 때마다 Hello World가 임의의 언어로 표시됩니다!


이 간단한 스크립트의 구조는 Qt for Python을 사용하는 대부분의 응용 프로그램의 기본이 될 것이므로, Qt for Python이 발표되자 마자 테스트해 보시기 바랍니다!

[초안] Windows 10(x64) 에서 PyQt5 및 eric6(오픈소스 IDE) 설치하기

  - v0.1 : 급작성된 초안이며, 시간되면 스크린 캽춰 등과 함께 정리 예정.


1) Python 3.5(x64) 설치 (x86은 수행을 않해 봤음)


  - 일반적인 경우 CPython(python.org)를 이용하여 설치

     Python은 PyQt 싸이트에 가서 지원하는 버전을 확인 후 설치. (예> Python 3.5 = PyQt 5.10.1 = Qt 5.10.1)

  - 경로(PATH) 설정하기

    '시스템 환경 변수 편집'에서 다음과 같이 설정.

    PYTHONPATH = C:\Python35

    PATH = %PATH%;%PYTHONPATH%;%PYTHONPATH%\Scripts

    위 방법은 다양한 python을 한대의 PC에서 사용하는 경우에 유리함. PYTHONPATH만 변경하면 Python2,3간 전환 및 3.x간 전환에도 편리함.

  - 명령창(Command)에서 python 설치 여부 확인.

     python --version 를 입력


  2) pip3 설치        

   - pip3은 python3용 pip이며, 설치되어 있지 않은 경우 설치함. (방법은 구글 검색하면 나옵니다.)


  3) PyQt 5.10.1 설치

    - 다음과 같은 명령어로 PyQt5 설치

     pip3 install PyQt5 

     - 설치 여부 확인은 다음과 같은 코드(hello.py)를 만든 후, 실행(python hello.py)하면  됨.



- 다이얼로그가 뜨면 성공 (여기까지 되면 PyQt 설치는 성공)

      

  4) eric6 다운로드(*.zip) 및 압푹 풀기


  5) 다음과 같은 명령어로 컴포넌트 설치

    pip3 install qscintill

  pip install pyqt5-tools    


  6) eric6 설치 

     - eric6 의 압축을 해제한 경로로 이동.

     - 다음과 같은 명령을 입력하면, 빌드 및 설치 작업을 진행함.  

       python install.py


   7) eric6 실행

     - 다음과 같은 명령을 입력하면 eric6 IDE가 구동됨.

       eric6

             

  ※ 다음은 eric6에서 PyQt5 예제 만들기 작성 예정 ...





camel_case_to_snake_case.py
https://gist.github.com/jaytaylor/3660565



 

http://sabonrai.com/wp/pythonmath/

Python Math (Python for iPhone/iPad/iPod Touch)

 

 아이폰이나 아이패드에서 파이썬 인터프리터를 사용할 수 있는 어플입니다.

 가격은 현재 기준으로 무료(FREE) 어플입니다.

 python 2.7 버전이 기준이지만 파이썬 전체의 모둘을 넣은 것은 아니고 선택적으로 일부만을 넣어둔 상태입니다. 하지만 코어 기능의 모듈은 대부분 있어서 소규모 프로그래밍 작업이 가능합니다.

 수익을 얻기 위해 어플에 대한 허위정보를 뿌리는 블로그가 많아서, 비슷한 블로그로 인식될까봐  어플 소개 글은 가능한 안 적으려고 했지만... 무료인데다가 기능도 유용해서 글 적어봅니다^^;

 

 

'Python' 카테고리의 다른 글

Windows 10(x64) 에서 PyQt5 및 eric6 IDE 설치하기  (0) 2018.02.28
[python] Camel case 를 Snake case 로 변환  (0) 2018.02.20
Python Math (python for iphone/ipad)  (0) 2011.10.22
Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28

 

http://pygooglechart.slowchop.com/

 

python 기반의 챠트 라이브러리이다. 이 라이브러리의 기능은 챠트에 자료 구조에 맞는 정보를 넣어 주면, 이미지 파일(*.png)로 생성하여 주는 것이다. 이미지의 종류는 원형, 막대형 등이 있다. 그 중 특이한 기능으로 QR 코드 생성이 있다. 이것으로 QR 코드 생성기를 만들 수 있다. 예제를 보자.

 

Hello, World! 라는 문자열을 QR 코드로 생성한다. Windows 용을 사용하기 위해서는 당연히 python 설치를 해야 하며, 설치본은 lib 에 설치된다. (windows vista/7 사용 시 설치는 관리자 권한으로 설치를 하도록 하자….

 

 

'Python' 카테고리의 다른 글

[python] Camel case 를 Snake case 로 변환  (0) 2018.02.20
Python Math (python for iphone/ipad)  (0) 2011.10.22
Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16

 

(1) 참고로, synology 108j는 big endian 이고, 110j는 little endian 이다. (물론 cpu는 다름)
(2) 아래와 같은 one line 처리도 있다. (0 이면 big endian, 1 이면 little endian)
 

[출처] serverfault.com

 

'Python' 카테고리의 다른 글

Python Math (python for iphone/ipad)  (0) 2011.10.22
Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16
py2exe  (0) 2007.09.11

파이썬 임베딩 처리 예제
출처 : Python official document

호출하려는 파이썬 코드

$ call multiply multiply 3 2
Will compute 3 times 2
Result of call: 6

'Python' 카테고리의 다른 글

Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16
py2exe  (0) 2007.09.11
Python 키 입력 예제  (0) 2007.09.07

'Python' 카테고리의 다른 글

Pygoogle-chart  (0) 2011.08.12
[python] system endianness 출력  (0) 2011.05.10
파이썬 임베딩 예제  (0) 2008.06.28
[Python] UDP 서버 예제  (0) 2008.04.16
py2exe  (0) 2007.09.11
Python 키 입력 예제  (0) 2007.09.07

+ Recent posts