关于如何传递一个变量,特别是最近访问的 sqlite 中的一个 ID,以用于生成的另一个 UI,我已经被难住了一个多小时。我正在使用 eric4(带有 python、pyqt、qtdesigner 和 sqlite)。
基本上,我正在编写的程序会生成成员,并且每个成员在生成成员信息时都有一个唯一的 ID。当有一个新成员时,分配给新成员的 ID 必须传递给程序的另一部分。但也有必须对会员进行修改的情况,必须知道ID才能显示会员的权限信息。
基本上,当添加新成员时,它首先输入数据库中的信息。我在名为 newmember.py 的 ui 的对话框代码中所做的是这样的:
def on_button_Save_released(self):
Nik = unicode(self.LineEdit_Nickname.text())
self.NMem = NewMem()
self.NMem.input_data(Nik)
self.close()
这NewMem
是另一个 py 文件中的一个类,它可以访问数据库。input_data 方法的部分内容如下所示:
cur.execute("insert into Members (Nick) values (?)",(Nik))
我添加了这段代码,以便它知道分配给新成员的 ID::
CurrentID = cur.lastrowid
return CurrentID
所以我self.NMem.input_data(Nik)
把ui对话框代码newmember.py中的这一行改成了这个
ID = self.NMem.input_data(Nik)
这样ID就会被传递。
现在,对话框代码将打开另一个窗口,我希望返回的 ID 用于另一个 ui。到目前为止,newmember.py 中的 ui 对话框代码中的整个方法基本上是这样的:
def on_button_Save_released(self):
Nik = unicode(self.LineEdit_Nickname.text())
self.NMem = NewMem()
ID = self.NMem.input_data(Nik)
self.close()
self.Pts = Points()
self.Pts.show()
这Points()
是另一个ui对话框代码中的一个类,它将在Points
ui中显示成员的信息。但是返回的ID
信息必须传递给Points()
ui,这样才能显示正确的信息。我有一种预感,我需要更改已编译的 ui 表单中的某些部分,以便它知道ID
要显示的部分,但我将如何将它传递到已编译的 ui 表单中?
任何帮助都非常感谢深深鞠躬
编辑:这段代码中有没有办法-
self.Pts = Points()
self.Pts.show()
变量ID是否也被合并并传递到ui中?喜欢
self.Pts = Points
self.Pts.show(ID)
那个ID也会去ui吗?
Edit2:有没有一种方法如何在 python 中的 ui 类中传递变量,就像这里显示的那样 - http://www.daniweb.com/forums/thread64758.html