需要一些幫助,請解釋爲什麼以下不起作用。 環境:Python 3.4,Gtk3.0,Python的有限體驗 文件selectcontact.py包含代碼,用於選擇多個記錄中的一個並將其密鑰傳遞迴其父進程以用於其他至少三個操作之一。從父類Python文件之間的數據傳輸
代碼片段:
….
self.cindex = 0
….
def editcontact_clicked (self, menuitem):
import selectcontact
selectcontact.SelectContactGUI(self)
print ('From Manage ', self.cindex)
if self.cindex > 0:
import editcontact
editcontact.EditContactGUI(self.db, self.cindex)
...。從selectcontact
代碼片段: 類SelectContactGUI: 高清初始化(個體經營,parent_class):
self.builder = Gtk.Builder()
self.builder.add_from_file(UI_FILE)
self.builder.connect_signals(self)
self.parent_class = parent_class
self.db = parent_class.db
self.cursor = self.db.cursor(cursor_factory = psycopg2.extras.NamedTupleCursor)
self.contact_store = self.builder.get_object('contact_store')
self.window = self.builder.get_object('window1')
self.window.show_all()
def select_contact_path(self, path):
self.builder.get_object('treeview_selection1').select_path(path)
def contact_treerow_changed (self, treeview):
selection = self.builder.get_object('treeview_selection1')
model, path = selection.get_selected()
if path != None:
self.parent_class.cindex = model[path][0]
print ('From select ', self.parent_class.cindex)
self.window.destroy()
...。
window1被聲明爲「模態」,所以我期待調用selectcontact作爲一個子例程,這樣editcontact不會被調用,直到控件傳回給父級。 parent_class位可以工作,因爲contact_store已正確填充。但是,回到父級的傳輸似乎不起作用,並且兩個打印語句以錯誤的順序發生: 自管理0 從選擇2 評論感謝收到。 Graeme