gpt4 book ai didi

qt - 如何按模型设置 QTableView 列的宽度?

转载 作者:行者123 更新时间:2023-12-04 23:06:28 24 4
gpt4 key购买 nike

我正在使用 QTableView具有 QAbstractTableModel 的子类作为它的模型。通过实现 data()headerdata()在子类模型中,可以控制表的许多属性,如数据、标题值、字体等。

就我而言,我希望模型设置每个表格列的宽度。如何才能做到这一点?

最佳答案

有两种方式:

  • 在模型的数据方法中,您可以返回角色 SizeHintRole。
  • 更好的方法是子类化 QItemDelegate并覆盖该方法。

  • 看这里 ( qitemdelegate.html#sizeHint )

    示例 -
    QSize ItemDelegate::sizeHint( const QStyleOptionViewItem & option, const QModelIndex & index ) const
    {
    QSize sz;

    if(index.column()==2)
    {
    return QSize(128, option.rect().height());
    }

    return QSize();
    }

    在这里,我将第 2 列的宽度设置为 128 像素,并填充 QStyleOptionViewItem 中保存的项目矩形的高度。 .

    关于qt - 如何按模型设置 QTableView 列的宽度?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11069611/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com