QtAlchemyはデスクトップデータベースアプリケーションの迅速な開発を支援するためのQtのモデル - ビュークラスとヘルパー関数の集合体である これは、アプリケーションのユーザーにエレガントで即時の方法で外部キーの関係を露出させるための強力なAPIを提供することを目的と。コンテキストメニュー、検索やコンボボックスやタブ付きインターフェイスは、すべて利用されている。 SQLAlchemyのの使用は、これらの機能はほとんどありませんコードの変更とデータベースバックエンドのさまざまなサポートされていることが可能となる。
Commandクラスは、装飾されたPythonの関数からのメニューとツールバーを構築する方法を提供します。コマンド機能は、ビューの選択した項目の識別子を受け取ることができるビューに結合した場合、こののパワーがより明白になる。これは、任意のSQLAlchemyのクエリ生成されたビューにコマンドをリンクするための柔軟な方法を提供します。
完全なドキュメントはhttp://qtalchemy.orgで入手できます。
QtAlchemyは、Python 2.6.xでは、SQLAlchemyのの0.6.xとPyQtはの4.7.x.で開発されましたそれは、すべての近くのバージョンで機能することが期待される。そこに同等の機能は、WindowsとLinux用に達成されていることを確認した取り組みである(あまりにおよびMacは、しかし、私は1つを持っていない)。
QtAlchemyは完全にバージョン1.0.4のようにPySideで動作するように期待されている。 PySideのサポートは、単にPySideにPyQt4からの輸入を変更use_pyside.shシェルスクリプトを実行することによって有効にすることができます。
の例の
簡潔であることの利益のために、ここに与えられた例では、データベースを参照していない。
QtAlchemy PyQtはのAPI2を使用して私たちはPyQt4をインポートする前にそれを有効にする必要があります
  >>>インポート一口
  >>> sip.setapi( 'QStringの'、2)
  >>> sip.setapi( 'QVariant'、2)
含むuserattrプロパティクラスは、さらに別のタイプの定義されたPythonのプロパティを提供します。これを再発明の目的は、私たちは十分に私たちのモデルと対話し、SQLAlchemyの列プロパティと含むuserattrプロパティの均一な体験を提供することができることを確実にすることでした。
  >>> qtalchemy輸入含むuserattrから
  >>>インポート日時
  >>>クラスPerson(オブジェクト):
  ...名前=含むuserattr(STR、「名前」)
  ... birth_date =含むuserattr(のdatetime.date、「生年月日」)
  ...年齢=含むuserattr(INT、「年齢(日)」、読み取り専用=真)
  ...
  ... @ age.on_get
  ... DEF age_getter(自己):
  ...リターン(datetime.date.today() - self.birth_date).days
この宣言により、我々は人を宣言し、自分の年齢を計算することができます。
  >>>私=人()
  >>> me.name = "ジョエル"
  >>> me.birth_date =のdatetime.date(1979,1,9)
  >>>今日でme.ageの#depends! - #doctest:+ SKIP
  11746
  >>> me.age-(datetime.date.today() - のdatetime.date(2011,1,9))PyQt4輸入するQtCore、QtGuiから誕生日1上の日#>。
  >>> qtalchemy輸入MapperMixin、LayoutLayout、ButtonBoxButton、LayoutWidgetから
  >>>
  >>>クラスPersonEdit(QtGui.QDialog、MapperMixin):
  ...デフ__init __(自己、親、人):
  ... QtGui.QDialog .__ initは__(自己、親)
  ... MapperMixin .__ initは__(自己)
  ...
  ... self.person =人
  ...
  ... VBOX = QtGui.QVBoxLayout(自己)
  ... MM = self.mapClass(人)
  ... mm.addBoundForm(VBOX、["名前"、 "birth_date"])
  ... mm.connect_instance(self.person)
  ...
  ...ボタン= LayoutWidget(VBOX、QtGui.QDialogButtonBox())
  ... self.close_button = ButtonBoxButton(ボタン、QtGui.QDialogButtonBox.Ok)
  ... buttons.accepted.connect(self.btnClose)
  ...
  ... DEF btnClose(自己):
  ... self.submit()#変更はフォーカス変更にモデル化するために下る。現在フォーカスを受け取ることを確認
  ... self.close()
そして、今、私たちは実際にこれをキックオフするためにいくつかのアプリのコードが必要です
  >>>アプリ= QtGui.QApplication([])
  >>> SAM =人()
  >>> sam.name = "サミュエル"
  >>> D = PersonEdit(なし、SAM)
  >>> d.exec_()#のGUI操作 - #doctest:+ SKIP
  0
  >>> sam.age#はGUIで昨日の選択を前提として - #doctest:+ SKIP
  1
の開発の
QtAlchemyは同じくらい私の仕事のスケジュールが許す限り重いコアまだ開発中です。アイデアが肉付けされていると私は一般的なドキュメント生成のためのスフィンクスを学ぶようにドキュメントが成長している。我々は可能な限りフルDOC-テストカバレッジのために努力するが、PyQtはモデル·ビューおよびGUIは、doc-テストで一定の合併症を課す。
0.7のための私の期待は、私がqtalchemyの新しい名前で0.6.10のリリースにでましたので、増加し続ける。これは、ブランドの新しい(そして、実際に完成していない)、ウェブページhttp://qtalchemy.orgと対になっています。 0.7リリース前に、私は持っていることを目指して:
- ドキュメントInputYoke選択
- PBMdiTableとPBSearchDialog移動
のこのリリースのの新機能であるqtalchemy.extへ:Python 3のサポート
- ! 2to3はないか、または他の落とし穴ません。
- SQLAlchemyのの0.9Xの互換性修正プログラムします。
のバージョン0.8.0の新機能のは何ですか。
- デフォルトの輸入などのPySideに変更します。
- GPLからLGPLにライセンスをリラックスします。
- 取り扱いヨークの変更を改善します。
- 外部キー項目の新しいPopupKeyListingを作成します。
のバージョン0.7.1でのの新機能は次のとおりです。
- QueryDataView列ヘッダのクリックで再クエリするための基本的な能力を獲得したソートにします。
- 少数のドキュメントの修正します。
- qtalchemy.ext.reporttoolsでジェラルドを使用するための新しいヘルパー関数ファミリます。
のどのバージョン0.7.0のの新しいです。
- 改善された例外エラー処理とを持つGUIアプリケーションのためのレポート作成-outコンソールます。
- コンボボックスをサポートする新しいヨークます。
- ヨークの資料を改善します。
- はドキュメントの前に完全な例を追加します。
- さまざまなモデル/不履行列幅を含むリストの改善します。
- 構造荷重とBoundDialogでフレームワークを拡張し、保存します。
- QTreeViewを露出する新しいツリービュー
- PBTableModelでツリーモデルをサポートします。
- に改善PySideの移植性とそれに関連する固定さまざまなクラッシュバグます。
BoundCommandMenuがエンティティを結合HTMLから派遣されるスロットがあります。
のバージョン0.6.12のの新機能であるフォームを表示するhtmlにコマンドします。
のバージョン0.6.11にの新機能である:/ <フィールドの
- 状況依存ヘルプおよびステータスのヒントLI>
周囲のスクリーンによって打ち切ることができCommandEvent構造の - 新しいPRECOMMAND /リフレッシュ信号ます。
- 汎用的なデータインポートウィザードの改善します。
- テーブルビューの改善(バグ修正、修正モデルの更新は、より正確には)します。
- のShellExecute pywin32使用の代わりがos.system
より良いWindowsサポートします。のために
のバージョン0.6.10に新しいのは何ですか。
- qtalchemyという名前に変更します。
- qtalchemy.widgets.TableViewにqtalchemy.PBTable移動
- 新しいqtalchemy.extモジュール(今のところデータインポートウィザード)
メニューとツールバーに表示されるコマンドを使用して、アイコンのQtの関連を暴露
一般的なダイアログの
の要件の
- のPythonます。
コメントが見つかりません