我有一个QTableView
和一个按钮。当从QTableView
中选择行时,我想要启用按钮,如果未选择该行,则应禁用该行。任何人都可以告诉你如何做到这一点
答案 0 :(得分:2)
使用表格选择模型处理选择变更信号
然后测试选择大小。
示例:
QItemSelectionModel *poSelectedFiles =
m_poTableView->selectionModel();
connect(poSelectedFiles, &QItemSelectionModel::selectionChanged,
this, &MainWindow::SlotSelectionChanged);
void MainWindow::SlotSelectionChanged(const QItemSelection & oSelected, const QItemSelection & oDeselected)
{
const int iSelectedItems =
m_poTableView->selectionModel()->selectedIndexes().size();
bool bEnabled = (iSelectedItems > 0) ? true : false;
// Enable button when row is selected.
ui->poMyButton->setEnabled(bEnabled);
}