如何在Qt中QTableView的一列中添加水平滚动条?

How to add Horizontal scrollbar in one of the column in QTableView in Qt?

提问人:tushar 提问时间:5/15/2022 更新时间:5/15/2022 访问量:187

问:

我有一个有 3 列。列是,,.我想在列中添加,因为该列中的名称很长。QTableViewNameTypeShowHorizontal ScrollbarName

How to add Horizontal scrollbar in one of the column in QTableView? 

这是我的代码:

void myView :: CreateTable()
{
    myTable = new QTableView();
    myTable ->setAlternatingRowColors(true);
    myTable ->horizontalHeader()->setSectionResizeMode(QHeaderView::Stretch);

    mymodel = new QStandardItemModel(this);
    mymodel ->setColumnCount(3);
    mymodel ->setHeaderData(0, Qt::Horizontal, tr("Name"));
    mymodel ->setHeaderData(1, Qt::Horizontal, tr("Type"));
    mymodel ->setHeaderData(2, Qt::Horizontal, tr("Show"));
}
C++ 量子 t,qt5,qt4,qt4.8

评论

0赞 HiFile.app - best file manager 5/15/2022
我认为这不容易完成,没有这个功能,AFAIK。当然可以做到,但这将是大量的代码和黑客攻击。QTableView
0赞 m7913d 5/15/2022
这应该可以通过实现你自己的委托(对于第一列),.ex.使用一个和(如果你想同步滚动单元格)一个.一些有用的参考资料:QAbstractItemView::setItemDelegateForColumnQStyledItemDelegateQScrollAreaQScrollBar
0赞 HiFile.app - best file manager 5/15/2022
@m7913d 好吧,问题是滚动是应该按单元格还是整个列(即同时滚动列中的所有单元格)。如果是每个单元格,那么问题是在滚动之前是否必须激活单元格 - 作为用户,我可能希望能够滚动(使用触摸板或鼠标滚轮)我悬停光标的单元格......而且我不认为这在代表中很容易实现。当然,确切的要求应该由OP来定义,还有很多细节不知道他想要达到什么目的。
0赞 tushar 5/15/2022
@V.K.authorofHiFile 如果当前一个表中有 4 个条目,假设第 3 行,Name 列的名称很长,那么只有第 3 行的 Name 列应该有水平滚动条。
1赞 HiFile.app - best file manager 5/15/2022
那么,您需要将代码发布到另一个问题中,并准备一个最小的可重现示例,以便其他人可以查看它。

答: 暂无答案