2017-08-27 4 views
0

に一つのクラスから値を渡します事前PyQtはは:誰かが私を助けることができますしてください場合は、私が第一、第二クラス</p> <p>おかげへのクラスから「self.item_clicked」この変数<strong></strong>から値を取得したいと思い、別の

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() 
+0

それを取得するには、Firstクラスのオブジェクトはどこに作成しましたか? – eyllanesc

+0

リスト上の項目をクリックして2番目のクラスに行くときに取得します – ShwSvn

+0

2番目のクラスのどの部分で使用しますか? – eyllanesc

答えて

2

に何をする必要がありすると、その値を受け取り、あなたはその方法にしたい場合は、私は以下を示してあなたは、そのデータを処理するメソッドを作成することです:

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() 
+0

Qlistの同じウィンドウにQtGui.QLineEditを追加することは可能ですか? 1つは他のものの上にある – ShwSvn

+0

あなたはQListWidgetを意味しますか? – eyllanesc

+0

はい、同じウィンドウにQListWidgetを付けてください QLineEditに書き込んで結果を表示するためにデータベースを照会します – ShwSvn

関連する問題

 関連する問題