qt - 如何根据 `Qtableview` 中的选择禁用/启用按钮

标签 qt qtableview qpushbutton

我有一个QTableView和一个按钮。当从 QTableView 选择该行时,我希望启用按钮,如果未选择该行,则应禁用该按钮。谁能告诉我怎么做

最佳答案

使用表选择模型来处理选择更改信号

然后测试选择大小。

示例:

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);
}

关于qt - 如何根据 `Qtableview` 中的选择禁用/启用按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47452834/

相关文章:

python - 带有一列图像的 QTableView

c++ - 在 qpushbutton 上设置图标

c++ - 获取选定的菜单项

c++ - Qt按钮按下增量

c++ - 继承QGraphicsItem+QWidget时GUI冲突

pyqt - 重新排序 QTableView 时自定义委托(delegate)不遵循

c++ - 使用具有新信号槽语法的 Qt 插件系统在接口(interface)类中声明信号

python - 编辑单元格时如何在 QTableView 中使用 Enter 键导航

c++ - 以高分辨率渲染 QChartView

c++ - 使用 Qt 将函数链接到计时器