繁体   English   中英

如何将qspaceritem添加到qgridlayout

[英]how to add qspaceritem to qgridlayout

我已经手动创建了两个包含很多项目的分组框。 一个分组框中的项目比第二个分组框中的项目多,这是一个布局问题。 看图片:

在此处输入图片说明

我测试了将垂直间隔符插入“模拟”部分,但是没有成功。

一段代码是:

...
groupBox2Layout = new QGridLayout;
groupBox2 = new QGroupBox();
groupBox2->setTitle("Analog");
for(int i=0; i<=15; i++)
{
    QSlider *horizontalSlider = new QSlider(Qt::Orientation::Horizontal);
    QComboBox *comboBox1 =  new QComboBox();
    comboBox1->addItems(analogPins);
    QLineEdit *lineEdit1 =  new QLineEdit("Slider " + QString::number(i));
    groupBox2Layout->addWidget(horizontalSlider, i, 0);
    groupBox2Layout->addWidget(comboBox1, i, 2);
    groupBox2Layout->addWidget(lineEdit1, i, 3);

    groupBox2->setLayout(groupBox2Layout);
}

groupBox2Spacer = new QSpacerItem(100,100, QSizePolicy::Expanding, QSizePolicy::Expanding);
groupBox2Layout->
...

我测试了

groupBox2Layout->的addItem(groupBox2Spacer); 带有错误:masim.cpp:60:22:错误:'addItem'是'QGridLayout'qgridlayout.h:123:10的受保护成员:注意:此处声明为受保护

groupBox2Layout-> addWidget(groupBox2Spacer); masim.cpp:60:22:错误:没有匹配的成员函数可调用'addWidget'qgridlayout.h:102:17:注意:候选函数不可行:第一次未知从'QSpacerItem *'到'QWidget *'的转换参数qgridlayout.h:103:10:注意:候选函数不可行:至少需要3个参数,但提供了1个参数qgridlayout.h:104:10:注意:候选函数不可行:至少需要5个参数,但是1提供

无法找到另一种方法将Spacer添加到“模拟”组框中...您能帮我吗?

注意:候选函数不可行:至少需要3个参数,但是提供了1个

您必须使用此公共重载来添加间隔符

void addItem(QLayoutItem * item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = 0)

因此您需要指定间隔的行和列。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM