2016-05-05 129 views
1

我試圖啓用/禁用QPushButton,如果我的QTableView中的任何內容被選中/取消選中。如果選擇了某個東西,則應該啓用該按鈕。如果什麼都不是,它應該被禁用。我怎樣才能做到這一點?我用QItemSelectionModel努力,但(如果我沒有點擊進入另一個細胞沒有明顯的行或列數的變化)我沒有成功:Qt QTableView - 'Nothing selected'信號

connect(selection, &QItemSelectionModel::selectionChanged,[=]() { 

     int integ; 
     integ = selection->currentIndex().row(); 


     QMessageBox * message = new QMessageBox; 
     message->setText("lol" + QString::number(integ)); 
     message->exec(); 


     if((selection->currentIndex().column() >= 0 && selection->currentIndex().column() < 6)) { 
      payinButton->setEnabled(true); 
     } else { 
     payinButton->setEnabled(false); 
     } 
    }); 

我怎樣才能做到這一點?謝謝!

+0

你有沒有打過電話payinButton->的setEnabled(選擇 - > hasSelection())? –

+0

這樣做!謝謝!添加它作爲答案,我會選擇作爲解決方案。 :) –

回答

0

我認爲你正在尋找的代碼是:

payinButton->setEnabled(selection->hasSelection());