.
QtAlchemy 데스크톱 데이터베이스 응용 프로그램의 신속한 개발에 도움이되는 Qt는 모델 - 뷰 클래스와 헬퍼 함수의 모음 & NBSP이며 그것은 응용 프로그램의 사용자에게 우아하고 즉각적인 방법으로 외래 키 관계를 노출시키기위한 강력한 API를 제공하는 것을 목표로 . 컨텍스트 메뉴, 검색 및 콤보 상자와 탭 인터페이스를 모두 사용된다. SQLAlchemy에의 사용은 이러한 기능이 사실상 코드 변경과 데이터베이스 백엔드의 다양한 지원하는 것을 가능하게한다.
명령 클래스는 장식 파이썬 함수에서 메뉴 및 도구 모음을 구성 할 수있는 방법을 제공합니다. 명령 함수는 다음의 뷰 선택된 항목의 식별자를 수신 할 수있는 관점에 결합 할 때의 전력은 더욱 분명해진다. 이것은 어떤 SQLAlchemy에 쿼리 생성 뷰에 명령을 연결하는 유연한 방법을 제공합니다.
대한 문서가 http://qtalchemy.org에서 확인할 수있다.
QtAlchemy는 파이썬의 2.6.x SQLAlchemy도의 된 0.6.x 및 PyQt는 4.7.x에 개발 된 그것은이 주변의 모든 버전에서 작동 될 것으로 예상된다. 이 기능 패리티은 Windows 및 Linux에 대한 달성되어 있는지 확인하려고 노력 (너무과 맥이,하지만 난 하나를 필요가 없습니다).
QtAlchemy 완전히 버전 1.0.4의로 PySide와 함께 작동 할 것으로 예상된다. PySide 지원은 단지 PySide에 PyQt4에서 수입을 변경하는 use_pyside.sh 쉘 스크립트를 실행하여 사용할 수 있습니다.
예
간결한 인의 이익에, 여기에 주어진 예는 데이터베이스를 참조하지 않습니다.
PyQt는의 API2를 사용 QtAlchemy 그래서 우리는 PyQt4을 가져 오기 전에를 활성화해야
& NBSP; >>> 수입 모금
& NBSP; >>> sip.setapi ( 'QString', 2)
& NBSP; >>> sip.setapi ( 'QVariant', 2)
UserAttr 속성 클래스는 또 다른 유형의 정의 파이썬 속성을 제공합니다. 이 재창조의 목적은 우리가 충분히 우리의 모델과 상호 작용 SQLAlchemy의 열 특성 및 UserAttr 속성에 대한 균일 한 경험을 제공 할 수 있도록했다.
& NBSP; >>> qtalchemy 수입 UserAttr에서
& NBSP; >>> 수입 날짜
& NBSP; >>> Person 클래스 (객체) :
& NBSP; ... 이름 = UserAttr (STR, "이름")
& NBSP; ... birth_date = UserAttr (datetime.date, "생년월일")
& NBSP; ... 나이 = UserAttr (INT, "나이 (일)"읽기 전용 = 참)
& NBSP; ...
& NBSP; ... @ age.on_get
& NBSP; ... 데프 (자동) age_getter :
& NBSP; ... 수익률 (datetime.date.today () - self.birth_date) .days
이 선언으로, 우리는 사람을 선언하고 자신의 나이를 계산할 수 있습니다 :
& NBSP; >>> 나 = 사람 ()
& NBSP; >>> me.name = "조엘"
& NBSP; >>> me.birth_date = datetime.date (1979,1,9)
& NBSP; >>> 오늘에 me.age의 #depends! - #doctest : + SKIP
& NBSP; 11746
& NBSP; >>> me.age- (datetime.date.today () - datetime.date (2011,1,9)) PyQt4 수입 QtCore, QtGui에서 생일 1 일 #>.
& NBSP; >>> qtalchemy 수입 MapperMixin, LayoutLayout, ButtonBoxButton, LayoutWidget에서
& NBSP; >>>
& NBSP; >>> 클래스 PersonEdit (QtGui.QDialog, MapperMixin) :
& NBSP; ... 데프 __init __ (자기, 부모, 사람) :
& NBSP; ... QtGui.QDialog .__의 init __ (자기, 부모)
& NBSP; ... MapperMixin .__의 init __ (자기)
& NBSP; ...
& NBSP; ... self.person = 사람
& NBSP; ...
& NBSP; ... 수직 박스 = QtGui.QVBoxLayout (자기)
& NBSP; ... mm = self.mapClass (사람)
& NBSP; ... mm.addBoundForm (수직 박스, [ "이름", "birth_date"])
& NBSP; ... mm.connect_instance (self.person)
& NBSP; ...
& NBSP; ... 버튼 = LayoutWidget (수직 박스, QtGui.QDialogButtonBox ())
& NBSP; ... self.close_button = ButtonBoxButton (버튼, QtGui.QDialogButtonBox.Ok)
& NBSP; ... buttons.accepted.connect (self.btnClose)
& NBSP; ...
& NBSP; ... 데프 btnClose (자기) :
& NBSP; ... self.submit () # 변경 초점 변화에 모델로 하강; 현재 포커스를 수신 확인
& NBSP; ... self.close ()
그리고 지금, 우리는 실제로이 킥오프 일부 응용 프로그램 코드가 필요합니다
& NBSP; >>> 응용 프로그램 = QtGui.QApplication ([])
& NBSP; >>> 샘 = 사람 ()
& NBSP; >>> sam.name = "사무엘"
& NBSP; >>> D = PersonEdit (없음, SAM)
& NBSP; >>> d.exec_ () # GUI를 상호 작용 - #doctest : + SKIP
& NBSP 0
& NBSP; >>> sam.age 번호는 GUI에서 어제의 선택 가정 - #doctest을 : SKIP +
& NBSP 1
개발
QtAlchemy만큼 내 작업 일정이 허락 무거운 핵심 개발에 아직도있다. 아이디어를 구체화하고 나는 일반 문서 생성을위한 스핑크스를 배울 문서는 성장하고있다. 우리는 가능한 한 전체 문서 - 테스트 커버리지를 위해 노력하지만, PyQt는 모델 뷰 및 GUI는 doc-시험에서 특정 합병증을 부과.
0.7에 대한 나의 기대는 내가 qtalchemy의 새로운 이름으로 0.6.10 버전에 준 그래서 계속 증가. 이 새로운 (그리고 정말 완성되지 않음) 웹 페이지 http://qtalchemy.org와 결합되어 있습니다. 0.7 릴리스 전에, 내가 가진 것을 목표로 :
- 문서 InputYoke 선택
- PBMdiTable 및 PBSearchDialog는 qtalchemy.ext로 이동
이 릴리스의 새로운 기능입니다 무엇 :
이 파이썬 3 지원! 어떤 2to3하거나 다른 개는.
SQLAlchemy도의 0.9 배의 호환성 수정
이 버전 0.8.0의 새로운 기능 : 기본 수입으로 PySide에
이 변경
GPL에서 LGPL에 라이센스를 휴식
요크 변경 처리 개선
외래 키 항목에 대한 새로운 PopupKeyListing 만들기
이 버전 0.7.1의 새로운 기능 :
이 QueryDataView 정렬에 열 머리글을 클릭 다시 쿼리하는 기본 능력을 얻었다
몇 가지 문서 수정
qtalchemy.ext.reporttools에 제랄를 사용하는 새로운 도우미 함수 가족
이 버전 0.7.0의 새로운 기능 :
이 개선 된 예외 오류 처리 및 GUI 응용 프로그램과 아웃 콘솔에 대한보고를
콤보 상자를 지원하는 새로운 요크
요크 문서를 향상
문서의 전면에 완전한 예제를 추가
디폴트 열 너비 등 다양한 모델 / 목록 개선
이 버전 0.6.12의 새로운 기능 :
이 BoundCommandMenu는 슬롯 결합 엔티티보고 양식을 HTML로 명령을 HTML에서 파견되어야한다
구조화 된 부하는 BoundDialog의 프레임 워크를 확장 저장하고
QTreeView 노출 트 리뷰
PBTableModel 트리 모델 지원
개선 PySide 이동성 및 그와 관련된 고정 된 다양한 충돌 버그
이 버전 0.6.11의 새로운 기능 :
이 필드에 대한 상황에 맞는 도움말 및 상태 팁
주변 스크린에 의해 중단 허용 CommandEvent 구조와 새로운 PRECOMMAND은 / 새로 고침 신호
일반 데이터 가져 오기 마법사의 개선
테이블 뷰 개선 (버그 수정, 수정 된 모델 업데이트는 더 정확합니다)
더 나은 창 지원을 위해 pywin32에서 ShellExecute 대신 os.system을을 사용하여
이 버전 0.6.10의 새로운 기능 : qtalchemy하는
이 이름을 변경
명령 메뉴 및 도구 모음에 나타나는와 아이콘의 Qt의 관계를 노출
qtalchemy.widgets.TableView에 qtalchemy.PBTable 이동
일반적인 대화 상자에 대한 새로운 qtalchemy.ext 모듈 (지금은 데이터 가져 오기 마법사)
이 요구 사항 :
이 파이썬
댓글을 찾을 수 없습니다