1
我想在QTreeWidget中制作具有多行内容的可编辑单元格,并将QPlainTextEdit作为代理使用。我需要为编辑和显示之间切换顺畅的所有行设置适当的大小,而不会有任何可见的更改。QTreeWidget设置每行的高度取决于内容
rect = textEdit.blockBoundingRect(textEdit.firstVisibleBlock())
- 有了这个,我可以找出高度,我需要的行集,但我错过了在那里我可以做到这一点的地方。
如何在初始化阶段为QTreeWidget的行设置适当的高度以及如何处理它的更改?
谢谢,但我怎么能从这个函数获取当前部件?它不提供像setEditorData(QWidget *,QModelIndex&)或setModelData(QWidget *,QAbstractItemModel *,QModelIndex&)函数。 – serge 2010-04-15 11:35:45
我还没有弄清楚如何做到这一点,何时需要这样做。我使用的解决方法是将代表的编辑器大小提示保存在模型的SizeHintRole中,当编辑结束并在没有编辑器显示时使用它。或者,最好是,你可以使用FontMetrics类,因为你的项目的边界矩形可以从它保存的文本中获得。 所以,你会问,'初始化阶段怎么样'。你可以通过几种方法来实现:使用FontMetrics类来设置SizeHintRole或者从不可见的QPlainTextEdit中获取它,将适当的文本放在它上面并要求绑定。 RECT。 – 2010-04-15 11:52:57