我按照这个例子来创建一个流布局:
http://doc.qt.io/qt-4.8/qt-layouts-flowlayout-example.html
这没有addToIndex(int _index)
功能,所以我想实现它。由于此布局使用 QLayoutItems,我想创建一个可以在特定索引之后插入项目的函数。
如何将 Item 的索引作为整数获取并插入到布局中?
更新:
流布局.cpp
FlowLayout *flowLayout = new FlowLayout;
void FlowLayout::insertItem(int index, QLayoutItem *item)
{
if(itemList.size() < index)
{
itemList.append(item);
}
else
{
itemList.insert(index,item);
QRect tmp = this->geometry();
}
update();
}
流窗口.cpp
void FlowWindow::addLineBreak()
{
flowbreak = new FlowLayoutButton(NULL);
QLayoutItem *item = new QWidgetItem(flowbreak);
flowlayout->insertItem(index, item);
//flowlayout->addWidget(flowbreak);
}
flowlayoutbutton.cpp 构造函数
FlowLayoutButton::FlowLayoutButton(QWidget *_parent):QWidget(_parent)
{
QBoxLayout *layout = new QHBoxLayout;
flowbreak = new QPushButton(tr("-------Label-------"));
flowbreak->setGeometry(0, 0, 200,20);
layout->addWidget(flowBreak);
setLayout(layout);
}