2011-08-15 84 views
1

我正在設計一個與客戶端數據庫進行通信的胖客戶端(即非瀏覽器)Python應用程序。此應用程序的其中一個屏幕需要有一個網格/電子表格區域,可以顯示多行數據,篩選,排序和更新多行信息。有沒有人對Python中具有此功能的開源UI控件提出建議?python網格控件/電子表格

**注 - 它必須是獨立於平臺的:可能會部署在Mac和Windows客戶端上。 **

謝謝!

羅恩

回答

2

我有良好的結果wxPython's CSheet,雖然我最終有所修改,以便它行事每一個同事的要求多一點「類似Excel」(箭頭鍵和上下文菜單)的。 wxPython適用於OS X,但現在只有32位,我相信(基於Carbon API)。

+0

謝謝!一個與使用CSheet相關的簡單問題。我想在每次更改一行數據時自動更新數據庫(但不是每次更改一行中的一個單元時 - 這太頻繁了),並且我想將存儲在數據庫中的更改記錄爲好(舊值和新值)。快速瀏覽一下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)方法中使用key = evt.GetKeyCode()查找向下箭頭或Enter鍵。 – ChrisC