Python PyQt:将值从一个类传递到另一个类

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

如果有人能帮助我,我想从这个变量“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__(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:)再次感谢