【发布时间】:2011-07-07 21:00:07
【问题描述】:
我已经为如何传递一个变量(特别是最近访问的 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
所以我将ui对话框代码newmember.py中的这一行self.NMem.input_data(Nik)改成了这个
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
【问题讨论】:
-
不确定我是否了解整个概念,但也许您想了解在 Designer 中推广您的课程是否能让您有所收获。让它与 PyQt 一起工作有点时髦,但我发现它非常有用。
-
嗯......现在我重新阅读了我的帖子,这有点tl;博士 - 好吧,基本上,我想要一个值(ID)中的一个值将取决于一个ui。我对如何将值传递给 ui ._ 感到困惑。编辑:有没有办法让 self.Pts.show() 也输入一个变量?我不知道你为什么会看到(也在编辑主要问题)
-
您能否将 Points 类的实现添加到问题中?
标签: python sqlite pyqt qt-designer