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

标签 c++ qt delegates qtableview qplaintextedit

我正在这里做一个项目,目前我遇到了以下问题。 它是关于一个 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/

相关文章:

c++ - 给定 r^2,有没有一种有效的方法来计算 r^3?

c++ - 尝试将类分离为 .h、.cpp 时出错

python - 如何向创建的表单添加数据? PyQt/Python/SQL

python - 同步 Qt TreeWidgets

ios - 从 UITabbarController 中选择选项卡时如何更新 VC 中的值?

c++ - 如何访问以固定大小定义的 vector ?

c++ - 从球体上的 3d 点计算 RPY(滚动俯仰偏航)

ios - 试图导出到 csv 但我如何从委托(delegate)中实现?

windows - 为什么 g++ 找不到/链接到 qjpeg4.dll?

ios - 具有多个实例的自定义委托(delegate)方法