QTreeWidget 根据内容设置每行的高度

发布于 2024-08-29 15:48:46 字数 304 浏览 4 评论 0原文

我想在 QTreeWidget 中制作具有多行内容的可编辑单元格,为此我使用 QPlainTextEdit 作为委托。我需要为所有行设置适当的大小,以便编辑和显示之间的切换顺利,没有任何明显的变化。

rect = textEdit.blockBoundingRect(textEdit.firstVisibleBlock())
  • 有了这个,我可以找出需要为该行设置的高度,但我错过了可以这样做的地方。

如何在初始化阶段为 QTreeWidget 的行设置适当的高度以及如何处理它的更改?

I want to make editable cells with multi-lines content in QTreeWidget and I use for this purpose QPlainTextEdit as a delegate. I need to set proper size to all rows that switching between editing and displaying went smooth, without any visible changes.

rect = textEdit.blockBoundingRect(textEdit.firstVisibleBlock())
  • With this I can find out the height I need to set for the row, but I missing the place where I can do it.

How can I set proper height to QTreeWidget's rows on initialization stage and how to handle it's changes?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

您的好友蓝忘机已上羡 2024-09-05 15:48:46

您需要重新实现委托的 sizeHint()。它将自动处理行的高度和宽度。
请注意,在这种情况下,QTreeWidget::uniformRowHeight 属性必须为 false,但如果它包含许多行,它会减慢树元素的渲染速度。

You need to reimplement delegate's sizeHint(). It will automatically handle row's height and width.
And note, that QTreeWidget::uniformRowHeight property must be false in this case, though it will slow tree element rendering if it contains many rows.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文