2013-12-20 122 views
2

我有一個QLabel,一個QLineEdit和一個QPushButton「查找」的QDialog。按下按鈕之後,我想將輸入到QLineEdit中的文本發送到另一個函數,該函數將處理查找按鈕的操作。通過QPushButton按鈕發送參數

# shows and handles the find dialog 
def handleFind(self): 
    findDialog = QDialog() 
    findDialog.setWindowTitle("Find") 
    grid = QGridLayout() 
    findDialog.setLayout(grid) 

    findLabel = QLabel("Find what", findDialog) 
    grid.addWidget(findLabel,1,0) 
    findField = QLineEdit(findDialog) 
    grid.addWidget(findField,1,1) 
    enteredText = findLabel.text() 
    findButton = QPushButton("Find", findDialog) 
    # how to send enteredText as parameter to the find function 
    findButton.clicked.connect(self.find) 
    grid.addWidget(findButton,2,1) 

    findDialog.exec_() 

# find function: search in the first column of the table 
def find(self): 
    #to do 
    names = NvmQtModel.__imp.parameterNames() 

如何發送的QLineEdit的輸入作爲參數傳遞給函數find的文本?

回答

1

可以使用lambda發送查找文本,像這樣:

findButton.clicked.connect(
     lambda: self.find(findField.text()))