QListWidget自定义item时出现布局显示误差解决方法

Posted 也无风雨、也无晴。

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了QListWidget自定义item时出现布局显示误差解决方法相关的知识,希望对你有一定的参考价值。

思路:
设置Delegate,覆写updateEditorGeometry方法。

代码:

#ifndef MARKINFOLISTDELEGATE_H
#define MARKINFOLISTDELEGATE_H

#include <QStyledItemDelegate>

class MarkInfoListDelegate : public QStyledItemDelegate

    Q_OBJECT
public:
    MarkInfoListDelegate(QWidget *parent = nullptr);
    virtual ~MarkInfoListDelegate();

    void
    updateEditorGeometry(QWidget *editor, const QStyleOptionViewItem &option, const QModelIndex &index) const;
;
#endif // MARKINFOLISTDELEGATE_H
#include "MarkInfoListDelegate.h"

MarkInfoListDelegate::MarkInfoListDelegate(QWidget *parent) 

MarkInfoListDelegate::~MarkInfoListDelegate() 

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

    // option.rect属性中保存了Item的位置
    editor->setGeometry(option.rect);


void MarkInfoListWgt::initObject()

    MarkInfoListDelegate *delegate = new MarkInfoListDelegate(this);
    ui->markInfomgr_listWidget->setItemDelegate(delegate);

参考:https://blog.csdn.net/huashuolin001/article/details/106462637/

以上是关于QListWidget自定义item时出现布局显示误差解决方法的主要内容,如果未能解决你的问题,请参考以下文章

使用自定义操作栏布局时出现 Robolectric InflateException

如何使 QListWidgetItem 根据其内容自动调整大小,并适合其 QListWidget

调用自定义 Button 类的构造函数时出现 ClassCastException

Qt - 如何从 QListWidget 中获取选定的自定义项目?

从自定义视图访问 RelativeLayout 时出现 NullPointerException

如何在 QListWidget 中缩放自定义小部件?