Python PyQt:将值从一个类传递到另一个类
如果有人能帮助我,我想从这个变量“self.item\u clicked”中获取第一个类到第二个类的值 提前谢谢Python PyQt:将值从一个类传递到另一个类,python,python-2.7,pyqt,pyqt4,Python,Python 2.7,Pyqt,Pyqt4,如果有人能帮助我,我想从这个变量“self.item\u clicked”中获取第一个类到第二个类的值 提前谢谢 conn = sqlite3.connect('DBM.db') conn.text_factory = str c = conn.cursor() #for row in c.execute('SELECT * FROM typem'): # print(row) class Second2(QtGui.QMainWindow): def __init__(se
conn = sqlite3.connect('DBM.db')
conn.text_factory = str
c = conn.cursor()
#for row in c.execute('SELECT * FROM typem'):
# print(row)
class Second2(QtGui.QMainWindow):
def __init__(self, parent=None):
super(Second2, self).__init__(parent)
#self.pushButton = QtGui.QPushButton("Close")
#self.setCentralWidget(self.pushButton)
self.setWindowTitle('Number')
self.setGeometry(500, 400, 100, 100)
self.label = QtGui.QLabel(self)
self.setCentralWidget(self.label)
self.label.setSizePolicy(QSizePolicy.Expanding, QSizePolicy.Expanding)
self.label.setAlignment(Qt.AlignCenter)
def setValue(self, item):
select_item = c.execute('SELECT Num FROM typem WHERE Type=?', (item, ))
print item
self.label.setText(item)
class First(QListWidget):
def __init__(self, parent=None):
super(First, self).__init__(parent)
self.add_items()
self.itemDoubleClicked.connect(self.item_click)
self.dialog = Second2(self)
def item_click(self, item):
self.item_clicked = item.text()
self.dialog.setValue(self.item_clicked)
self.dialog.show()
def add_items(self):
for row in c.execute('SELECT Type FROM typem'):
item = QListWidgetItem("{0}".format(row[0]))
self.addItem(item)
def main():
app = QtGui.QApplication(sys.argv)
main = First()
main.show()
sys.exit(app.exec_())
if __name__ == '__main__':
main()
您需要做的是创建一个接收该值的方法,如果您希望在该方法中处理该数据,如下所示:
class Second2(QtGui.QMainWindow):
[...]
def setValue(self, item):
print(item)
select_item = c.execute('SELECT Num FROM typem WHERE Type=(?)', item)
class First(QListWidget):
[...]
def item_click(self, item):
self.item_clicked = item.text()
print self.item_clicked
self.dialog.setValue(self.item_clicked)
self.dialog.show()
当你想得到它时,你在哪里首先创建了一个类的对象?当我点击列表上的项转到第二个类时,我想得到它在第二个类的哪个部分你会使用它?你会在数据库查询中的
select\u item=c.execute('select a FROM FROM where type=(?),item)
中使用它,注释行只有一个问题,是否可以在Qlist的同一窗口上添加QtGui.QLineEdit?一个在另一个之上你是说QListWidget吗?是的,如果QListWidget在同一个窗口上,它将在QLineEdit上写入并查询数据库以显示结果。不是直接,我建议更改First的父级,即使用QWidget或QDialog而不是使用QListWidget,在这个小部件中放置QLineEdit和qlistwidgetok:)再次感谢