gpt4 book ai didi

c++ - QT如何设置QTreeWidget的行高?

转载 作者:行者123 更新时间:2023-11-28 01:21:24 34 4
gpt4 key购买 nike

我只是简单的想把一个QTreeWidget中的所有QTreeWidgetItem的高度设置为指定的高度。我不知道从哪里开始,我在 QT Designer 或 QTreeWidget QT 规范网页中看不到任何内容。

有这样的提示或示例吗?我猜这是我忽略的非常简单的事情。谢谢

无法提供 MVC,因为我不知道从哪里开始抱歉。

最佳答案

为了修改树项行,

创建您自己的自定义 QItemDelegate 并覆盖 sizeHint()功能。

例如:

class ItemDelegate : public QItemDelegate
{
private:
int m_iHeight;
public:
ItemDelegate(QObject *poParent = Q_NULLPTR, int iHeight = -1) :
QItemDelegate(poParent), m_iHeight(iHeight)
{
}

void SetHeight(int iHeight)
{
m_iHeight = iHeight;
}

// Use this for setting tree item height.
QSize sizeHint(const QStyleOptionViewItem &option, const QModelIndex &index) const
{
QSize oSize = QItemDelegate::sizeHint(option, index);

if (m_iHeight != -1)
{
// Set tree item height.
oSize.setHeight(m_uHeight);
}

return oSize;
}
};

然后在你的类中,将客户委托(delegate)项设置为树,

并根据需要更改行高:

class YourClass
{
private:
QTreeWidget *m_poTreeWidget;
ItemDelegate m_oItemDelegate;
public:
void InitTree()
{
// do stuff
m_oItemDelegate.SetHeight(30); // set row height
m_poTreeWidget->setItemDelegate(&m_oItemDelegate);
// ...
}
};

关于c++ - QT如何设置QTreeWidget的行高?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56092583/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com