2011-08-15 3 views
1

私は、ホストされたデータベースと通信するシッククライアント(つまり、非ブラウザ)Pythonアプリケーションを設計しています。このアプリケーションの画面の1つには、多数の行のデータの表示、フィルタリング、並べ替え、および複数行の情報の更新を可能にするグリッド/スプレッドシート領域が必要です。誰でもこの機能を持つPythonのオープンソースUIコントロールの推奨事項はありますか?pythonグリッドコントロール/スプレッドシート

**注 - プラットフォーム非依存である必要があります.MacおよびWindowsクライアントに展開される可能性が高いです。 **

ありがとうございました!

ロン

答えて

2

それはもう少し「エクセルのような」(矢印キーとコンテキストメニュー)同僚の要求ごとのように行動したように、私はややそれを修正することになったけれども、私は、wxPython's CSheetとの良好な結果を持っていました。 wxPythonはOS X上で動作しますが、私は(Carbon APIに基づいて)今は32ビットしか信じていません。

+0

ありがとうございます! 1つの簡単な質問は、CSheetの使用に関連しています。私は、データの行が変更されるたびにデータベースを自動的に更新したいのですが(行の1つのセルが変更されるたびに - それは頻繁に起こります)、変更のログをよく(古い値と新しい値)。 CSheetのメソッドを簡単に見てみると、正しい方法は、OnCellChangeメソッドの実装で、何かが変更されたことに注目して、ユーザーがフォーカスを新しい行に移動したときにそのフラグをチェックし、それに応じてデータベース。正しい? –

+0

@Ron - あなたがやりたいことに従っているなら、[sheet module](http://www.wxpython.org/docs/api/wx.lib)のセルエディタをチェックしたいかもしれません。 .sheet-module.html)、例えば[CTextEditor](http://www.wxpython.org/docs/api/wx.lib.sheet.CTextCellEditor-class.html)。セルテキストエディタでwx.EVT_CHARイベントを探し、OnChar(self、evt)メソッドで下矢印キーまたはEnterキーをkey = evt.GetKeyCode()で探します。 – ChrisC