gpt4 book ai didi

c++ - 在 QTableView 中设置 QPlainTextEdit 委托(delegate)的高度

转载 作者:行者123 更新时间:2023-11-28 08:16:45 24 4
gpt4 key购买 nike

我正在这里做一个项目,目前我遇到了以下问题。它是关于一个 QTableView,它有一个名为“Description”的列,该列的单元格包含一个 QPlainTextEditDelegate。每次输入时,我都无法设置 QPlainTextEdit 的高度。现在它的行为就像一个 QLineEdit,直到我将 QTableView 的行(我当时处于事件状态)拖动得更大。

我想做的是在输入后更改 QPlainTextEdit 的高度。你有什么建议?我怎样才能继续完成这件事?

先谢谢大家了!

顺便说一句,抱歉我的英语不好:/

编辑:

好的我解决了它,但是没有 sizeHint,我使用了 updateEditorGeometry :

void updateEditorGeometry( QWidget* editor, const QStyleOptionViewItem & option, const QModelIndex & index ) const;

在这个方法中,你可以根据需要设置宽度或高度

editor->setGeometry(option.rect.x(),option.rect.y(),<your_width>,<your_height>);

不过还是谢谢你!

最佳答案

您应该重新实现 QAbstractItemDelegate::sizeHint 方法以在创建编辑器时返回预期的高度。我不认为在创建编辑器后发出 QAbstractItemDelegate::sizeHintChanged 信号是必要的,但文档没有说明任何内容。如果没有它就无法工作,您应该在返回创建的编辑器小部件后发出 sizeHintChanged 以通知 View 需要更改行高。

关于c++ - 在 QTableView 中设置 QPlainTextEdit 委托(delegate)的高度,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7471045/

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