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 中获取选定的自定义项目?