所以我終於明白了PyGTK是如何工作的,我正在開發一個簡單的SQLite管理器應用程序。動態更改gtkListStore模型
要顯示查詢的結果,我使用gtk.ScrolledWindow和gtk.TreeView。我已經設法添加甚至根據需要更改ListStore對象中的值,但我不能做的是更改ListStore對象的模型。
例如,在一個查詢我可能有兩列的結果:
self.query_results = gtk.ListStore(str,str)
self.query_results.append(["1"],["John Doe"])
而在另外一個我可以得到更多的列:
self.query_results = gtk.ListStore(str,str,str,str)
self.query_results.append(["20"],["Jane"],["[email protected]"],["password"])
我知道我可以使用的東西像
self.query_results = gtk.ListStore(*[str]*len(columns))
但aparently gtk.ListStore不能讓它的模型在創建後被更改,所以我會如何更新e這個查詢表?我是否需要銷燬Treeview並在每次運行不同的查詢時再次繪製它?
謝謝,這是我在StackOverflow上的第一個問題,所以請原諒我沒有遵循的任何錯誤/發佈指南。
檢出[libgda4](http://www.gnome-db.org/) - 它做你想做的事情,並有一個ListStore接口,可直接與底層數據庫進行通信。 – ptomato