QTableView 自定义表头,添加复选框、下拉框

主要作用:自定义表头,添加一个复选框,一个下拉选项框;用于表格选项的选择和筛选功能;

效果图:

 

 

主要代码说明:

void CustomHeaderView::paintSection(QPainter *painter, const QRect &rect, int logicalIndex) const
{
    QHeaderView::paintSection(painter,rect,logicalIndex);

    //logicalIndex 当前第几列,也可以自定义显示其他控件;
    if(logicalIndex == 0)
    {
        QRect tmp;
        tmp.setSize(QSize(20,20));
        tmp.moveCenter(rect.center());
        m_checkbox->setGeometry(tmp);
    }
    else if(logicalIndex ==2)
    {
        m_combox->setGeometry(rect);
    }
}

自定义表头控件,继承QHeaderView,主要通过paintSection自定义复选框和下拉框显示;

代码下载地址:https://download.csdn.net/download/gz9456/13985527

以上;

原创,转载请说明;

  • 2
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
QTableView是一个非常灵活的控件,可以很容易地通过自定义添加图片、框、下框、按钮、滑条、微调框和日历等控件。 首先,我们可以通过自定义QStandardItemModel来向QTableView添加图片。可以在数据模型中使用Qt::DecorationRole添加图片数据,并且可以通过自定义代理来实现不同类型的图片展示。 其次,添加框可以使用自定义代理来实现。可以通过重载QItemDelegate的paint和editorEvent方法来实现在表格中显示框,并且可以通过信号和槽来处理框的状态变化。 要在QTableView中使用下框,可以通过自定义QComboBoxDelegate来实现下框的展示,可以通过paint方法在表格中显示下框,同时需要重载editorEvent方法来处理下框的交互事件。 添加按钮可以通过自定义QButtonDelegate来实现,通过paint方法在表格中显示按钮,同时需要重载editorEvent方法来处理按钮的交互事件。 要添加滑条,可以通过自定义QSliderDelegate来实现。在表格中通过paint方法显示滑条,并通过editorEvent处理滑条的交互事件。 为了在QTableView添加微调框,可以通过自定义QSpinBoxDelegate来实现。通过paint方法在表格中显示微调框,并需要通过editorEvent处理微调框的交互事件。 最后,要添加日历控件,可以通过自定义QCalendarDelegate来实现。通过paint方法在表格中显示日历控件,并且通过editorEvent来处理日历的交互事件。 总的来说,通过自定义代理类和数据模型,我们可以方便地向QTableView添加图片、框、下框、按钮、滑条、微调框和日历等控件,实现丰富多彩的表格展示效果。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值