【问题标题】:Individual QTreeWidgetItem indentation单独的 QTreeWidgetItem 缩进
【发布时间】:2010-03-03 08:38:53
【问题描述】:

QTreeWidget 中是否可以单独缩进项目?

具体来说,我有一个包含文本、图标的列,其中一些包含一个复选框。没有 CheckBox 的项目会向左移动,因此图标和文本的缩进不会与其他项目内联。如果可能的话,是否可以使用隐藏的 CheckBox 来修复?

【问题讨论】:

    标签: qt indentation qtreewidget qtreewidgetitem


    【解决方案1】:

    也许使用 Delegates 会给你一个很好的和正确的实现。您将有机会重新实现 paint() 和 sizeHint() 方法,因此,选择绘制 QTreeWidgetItem 的方式...

    更多文档在这里:http://doc.trolltech.com/4.6/model-view-delegate.html

    一个例子:http://doc.trolltech.com/4.6/itemviews-pixelator.html

    希望对你有所帮助!

    【讨论】:

    • 您好,非常感谢您的意见。我目前没有使用模型/视图框架,只是普通的 QTreeWidgetItems 所以我想我不能在这里使用委托方法。不过谢谢!
    • 您可以将委托与 QTreeWidgetItems 一起使用
    【解决方案2】:

    您可以尝试在QTreeWidget::itemWidget() 返回的小部件上使用QWidget::setContentMargins()

    【讨论】:

    • 嗨。非常感谢您的回复。每当我尝试对 QTreeWidget::itemWidget() 返回的 QWidget 做某事时,我的应用程序就会崩溃。你知道为什么会发生吗?在设置项目层次结构之前我不会调用它。
    • 哦,现在你这么说,我记得 QTreeWidget::itemWidget() 只有在小部件设置为 QTreeWidget::setItemWidget() 时才会返回非 NULL 值。为了解决您的问题,我想您必须创建自己的项目来显示图标并处理复选框/额外空间。
    猜你喜欢
    • 2015-02-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-06
    • 2021-08-03
    • 2010-12-12
    • 2018-10-29
    • 1970-01-01
    相关资源
    最近更新 更多