目前我有这个代码可以向ui.widget
添加几个QLineEdits,但是如果元素太多,我还需要一个垂直滚动条 - >可用空间有限:
QGridLayout *gridLayout = new QGridLayout(ui.widget);
int rowIndex = 0, colIndex = 0;
for(auto number : m_numbers)
{
QLineEdit *lineEdit = new QLineEdit();
gridLayout->addWidget(lineEdit, rowIndex, colIndex, Qt::AlignLeft);
if(colIndex == 7)
{
colIndex = 0;
++rowIndex;
}
else ++colIndex;
}
ui.widget->setLayout(gridLayout);
如何使其可滚动?
答案 0 :(得分:1)
使用QScrollBar:QScrollBar小部件提供垂直或水平滚动条。
为您的窗口小部件定义修复大小,如果用户创建了太多的QLineEdit,请将自定义的QScrollBar添加到该窗口小部件。
QScrollBar * scroll = new QScrollBar(Qt::Vertical, ui->widget);
或者像这张图片一样使用QScrollArea:
https://github.com/aghilpro/QScrollArea
这是关于github download here的问题的示例项目。