- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我手动创建了两个包含许多项目的组框。一个分组框中的项目比第二个分组框中的项目多,这是一个布局问题。看图:
我测试将垂直间隔器插入“模拟”部分,但没有成功。
一段代码是:
...
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”的 protected 成员qgridlayout.h:123:10: 注意:在此处声明为 protected
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 添加到“模拟”组框......你能帮帮我吗?
最佳答案
note: candidate function not viable: requires at least 3 arguments, but 1 was provided
你必须使用这个公共(public)重载来添加间隔符
void addItem(QLayoutItem * item, int row, int column, int rowSpan = 1, int columnSpan = 1, Qt::Alignment alignment = 0)
因此您需要指定间隔符的行和列。
关于c++ - 如何将 qspaceritem 添加到 qgridlayout,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56858653/
我是一名优秀的程序员,十分优秀!