파이썬 라이브러리의 명명규칙을 아래와 같이 표준을 사용한다. 이미 다른 스타일로 작성된 기존 라이브러리는 그 자체의 일관성을 유지하도록 한다. 더 자세한 내용은 여기를 참고하라. 언더스코어의 특별한 의미 접미사 하나를 사용한 경우 : 내부에서 사용한다는 의미 접미사 두개를 사용한 경우 : 클래스 내부에 protect로 사용한다는 의미 접두사 하나를 사용한 경우 : 파이썬 키워드와의 충돌을 방지한다는 의미 명명규칙 패키지와 모듈 이름 : 짧은 소문자 + 언더스코어 클래스 이름 : CapWords규칙을 따른다. 예외 이름 : 예외는 클래스이므로 CapWords규칙을 따르고 Error 접미사를 사용한다. 전역 변수 이름 : 언더스코어를 붙여서 해당 모듈에서만 쓰이도록 한다. 함수 이름 : 소문자 + 언더스코어..
메인윈도우에서 다이얼로그를 사용하는 방법에는 2가지가 있다. 모달(modal) : 다이얼로그를 사용시 메인위도우를 사용할 수 없도록 하는 방법 모덜리스(modeless) : 다이얼로그를 사용시 메인위도우도 사용하도록 하는 방법 모달(modal)로 다이얼로그를 사용하기 dialog = SaveDialog(self) dialog.exec_() 모덜리스(modeless)로 다이얼로그를 사용하기 if (not self.search_dialog): self.search_dialog = SearchDialog(self) self.search_dialog.show() self.search_dialog.raise() self.search_dialog.activateWindow() ... 코드는 추후에 수정한다. rai..
designer로 만든 ui를 pyqt에서 사용하는 방법은 크게 2가지 방법이 있다. ui를 pyuic를 이용하여 python코드로 변환하는 방법 ui를 uic.loadUi()를 이용하는 방법 2번의 방법을 이용하는 경우, uic.loadUi()로 생성된 객체를 통해서 접근을 해야 하므로 개인적으로 1번의 방법을 사용하고 있다. 그래서 1번의 방법을 이용해서 ui를 상속받아 사용하는 방법에 대해 기록할려고 한다. pyuic를 사용하는 방법은 http://ruriro.tistory.com/4를 참고하면 된다. disigner로 만든 화면은 크게 두가지로 볼 수 있다. 메인윈도우(main window) 다이얼로그(dialog) 메인윈도우는 프로그램에서 단 하나의 최상위 화면으로 볼 수 있다. 그래서 프로그램..
pyqt는 사용자가 정의한 signal을 발생(emit)할 수 있다. emit시 signale에 연결(connect)된 slot을 호출하게 된다. 예제코드는 아래와 같다. stackoverflow를 참고하였다. class StartDialog(QtGui.QDialog, QtCore.QObject, Ui_StartDialog): new_start_signal = QtCore.pyqtSignal() def __init__(self, parent=None): QtGui.QDialog.__init__(self, parent) QtCore.QObject.__init__(self) self.setupUi(parent) self.new_button.clicked.connect(self.new_button_clicke..
파이썬에서 알파벳 문자를 다음 알파벳 문자로 바꿔야할 경우가 있다. 그래서 c언어에서 사용하는 방법으로 아래와 같이 작성했다. next_char = 'a' + 1; 그러니 TypeError: Can't convert 'int' object to str implicitly 라는 타입에러가 발생한다. 인터넷에서 알아보니 파이썬에서는 ord(char)와 chr(int)함수를 이용해야 하는 것을 알게 되었다. ord(char)함수는 매개변수로 전달된 char을 int값으로 변환시켜주고, chr(int)함수는 매개변수로 전달된 int를 char값으로 변환시켜준다. 그래서 'a'를 'b'로 바꾸는 방법은 다음과 같다.chr(ord('a') + 1) # 'b'
Qt에서는 signal과 slot이 존재한다. 이벤트 발생시 signal이 발생되고, signal발생시 호출되는 함수를 slot이라고 한다. 그리고 signal과 slot을 서로 연결(connect)해야 올바르게 작동이 된다. signal과 slot을 연결하는 방법 QtCore.QObject.connect(widget, QtCore.SIGNAL(‘signalname’), slot_function) widget.signalname.connect(slot_function) 위의 2가지 방법 모두 결과는 같다. 사용 예제 button(buttonset)에서 clicked시그널이 발생시 사용자가 정의한 buttonset_clicked()메서드가 호출되도록 예제를 작성하면 아래와 같다. # 1 self.conne..
아래 코드는 designer로 만든 ui파일을 pyuic4를 -x옵션으로 실행가능하도록 만든 py파일이다. # -*- coding: utf-8 -*- # Form implementation generated from reading ui file 'hello.ui' # # Created by: PyQt4 UI code generator 4.11.4 # # WARNING! All changes made in this file will be lost! from PyQt4 import QtCore, QtGui try: _fromUtf8 = QtCore.QString.fromUtf8 except AttributeError: def _fromUtf8(s): return s try: _encoding = QtGui...
anaconda3.5에서 Qt designer를 이용하여 UI프로그램을 만들어 보려고 한다. 기본적인 제작과정은 다음과 같다. Qt designer를 이용하여 UI를 디자인하고 xxx.ui파일 만들기 pyuic4를 이용하여 xxx.ui파일을 xxx.py로 변환하기 변환된 xxx.py파일을 이용하여 프로그램을 완성하기 이 문서는 anaconda3.5.1과 pyqt4.11.4를 이용하여 작성하였다. 1. Qt designer를 이용하여 UI를 디자인하고 xxx.ui파일 만들기 Qt designer는 C:\Anaconda3\Library\bin\designer.exe를 실행시키면 사용할 수 있다. C:\Anaconda3\Library\bin\는 anaconda설치시 환경변수로 설정되므로, cmd(명령프롬프트)..
제목1 제목2 제목3 진하게 기울임 코드블록 Quotes 리스트 리스트2 네이버
스킨편집 > html에서 head사이에 아래코드를 추가한다. 스킨편집 > css에서 .skin_view .area_view pre를 아래와 같이 수정시킨다. 스크롤이 생기지 않게 하려면 overflow-x: auto;를 삭제하자..skin_view .area_view pre { background-color:#F6F7F8; margin:28px auto; padding:0px; word-wrap: normal; overflow-x: auto; font-family:Menlo,Consolas,Monaco,monospace; font-size:14px; line-height:20px} 코드하이라이트를 시킬 부분을 아래와 같이 작성한다. 하이라이트 시킬 코드 넣기