본문 바로가기

Language

(82)
Boost Python 환경 구축 및 사용예제(Visual Studio 2013 Express 사용) C/C++과 python은 비교적 쉽게(?) 연동할 수 있다. 다양한 방법이 있지만, 오늘은 Boost Python을 사용하여 언어간 연동을 해보도록 하겠다. 사용한 환경은 아래와 같다.WinPython 3.3.5.0 x64Boost 1.55Visual Studio 2013 Expresspython과 Boost는 아래와 같이 폴더에 위치해 있으며, 이는 각자 개발환경 마다 다를 것이므로 참고만 하자. 환경변수에 추가할 필요는 없다!WinPython : %PYTHON_HOME% = D:\Development\WinPython-64bit-3.3.5.0Boost 1.55 : %BOOST_HOME% = D:\Development\boost_1_55_0 1. Boost 빌드 보통 Boost의 경우 hpp만 사용하..
heapq 모듈 - 데이터 모음에서 n개의 최소 / 최대 값 구하기 데이터 모음에서 n개의 최소값 / 최대값을 구하고 싶을 때가 있을 것이다. 이때 사용할 수 있는 유용한 모듈이 heapq 이다. 관련 API는 링크를 확인한다. 예제 1) 리스트에 값이 무작위로 있을때 n개의 최소값과 최대값을 구하는 방법. 예제 2) map 데이터를 가지고 있는 리스트에서 특정 key 값에 대한 n개의 최소값과 최대값을 구하는 방법.
Qt Designer와 PySide 사용하여 GUI 프로그래밍 하기(추가) Qt Designer와 PySide 사용하여 GUI 프로그래밍 하기 2/2 에서 보았듯이 GUI에서 signal 처리시 시간이 많이 걸리면 전체 GUI가 먹통이 되는 현상이 있다. 이걸 해결하기 위하여 QThread를 사용하여 수정해 본다. 아래와 같이 소스코드를 수정해 보았다. (파란색 부분이 수정 및 추가된 부분이다.) import sys import time import TestWidget class TestMainDialog2(QDialog, TestWidget.Ui_Form): def __init__(self, parent=None): super(TestMainDialog2, self).__init__(parent) self.setupUi(self) self.connect(self.pushBut..
PySide 새로운 스타일의 SIGNAL과 SLOT 사용방법 예전 signal&slot 연결 방식을self.connect(self.pushButton, SIGNAL("clicked()"), self.showMessage) 아래와 같이 새로운 방식으로 signal과 slot을 연결할 수 있다.self.pushButton.clicked.connect(self.showMessage) 더 자세한 내용은 여기를 참고한다.
PySide API http://srinikom.github.io/pyside-docs/modules.html
Qt Designer와 PySide 사용하여 GUI 프로그래밍 하기 2/2 이전 글 에서 Qt Designer를 사용하여 TestWidget.ui를 만들었으며 해당 파일로부터 TestWidget.py 스크립트를 만들었다. 이번에는 만들어진 TestWidget.py를 기반으로 pushButton에 "clicked()" SIGNAL을 추가하여 클릭시 showMessage 함수가 호출되도록 구성할 것이다. 기본적인 동작만 안다면 확장하는 것은 크게 어렵지 않을 것이다. Step1. Qt Designer로 GUI를 구성하여 TestWidget.ui 파일 생성Step2. TestWidget.ui로 부터 TestWidget.py 생성Step3. TestMainDialog.py를 만들어 1번에서 만든 pushButton에 "clicked()" SIGNAL을 showMessage 함수에 연결..
Qt Designer와 PySide 사용하여 GUI 프로그래밍 하기 1/2 Qt Designer를 이용하여 GUI를 구성하고, PySide를 이용하여 각종 SIGNAL을 발생하고 발생한 SIGNAL을 처리하는 방법에 대하여 알아본다.(youtube에서 본 것을 복습하는 차원에서 차근차근 정리해 본것이다. 원본은 여기서 확인한다.) 전체적인 흐름은 다음과 같다.Step1. Qt Designer로 GUI를 구성하여 TestWidget.ui 파일 생성Step2. TestWidget.ui로 부터 TestWidget.py 생성Step3. TestMainDialog.py를 만들어 1번에서 만든 pushButton에 "clicked()" SIGNAL을 showMessage 함수에 연결되도록 구성한다.Step4. 수행하여 결과를 확인한다. 이번 글에서는 Step1과 Step2에 해당 내용만 ..
Python Distribution 어느 순간부터, python을 설치하고 필요한 모듈을 찾아서 일일이 설치하는게 귀찮아져서 아예 필요한 모듈을 묶어서 배포하는 것들을 사용하기 시작했다.다양한 Python Distribution들이 있다.ActivePython : http://www.activestate.com/activepythonEPD : https://www.enthought.com/products/epd/WinPython : http://winpython.sourceforge.net/python(x,y) : https://code.google.com/p/pythonxy/Anaconda : https://store.continuum.io/cshop/anaconda/나는 WinPython을 사용하고 있다.