这个问题看起来很简单,但我没有在 2 小时内解决它。我有这个布局:
QGridLayout* view = new QGridLayout(this);
view->setSpacing(15);
view->addWidget(x0,2,1);
view->addWidget(x1,1,1);
view->addWidget(keyboard,2,0);
view->addWidget(x2,1,0);
view->addWidget(draw,0,0,0,1);
resize ( 650,650);
this->setLayout(view);
我需要那个“绘图”(项目的图形部分),占据项目的顶端(第 0 行,第 0 列到第 1 列)。
问题是我在构造函数中输入的任何值:
void QGridLayout :: addWidget (QWidget * widget, int fromRow, fromColumn int, int rowSpan, columnSpan int, Qt :: Alignment alignment = 0)
所有其他小部件都被阻止了,当我的程序运行时我无法交互。
使用经典构造函数
void QGridLayout :: addWidget (QWidget * widget, int row, int column, Qt :: Alignment alignment = 0)
没问题,但小部件“绘制”不是我想要的(只有 1 列而不是 2 列)。
有人知道我在哪里做错了吗?
PS:小部件没有布局设置(除了一个数字键盘来固定键的最小高度)。