C++ 如何使布局与之匹配';什么内容?
所以我有一个QVBoxLayout和两个子布局。 第一个包含标签,第二个包含glwidget。 目标是使第一个布局具有显示标签所需的精确大小,而不是更大,也不是更小(小部件与顶部对齐)。(因此它实际上占据了屏幕的一小部分)。我需要它独立于窗口大小。我试过一些东西,现在我只是用addStrech来让它至少过得去。 所以我想知道。我能通过布局管理实现我想要的吗C++ 如何使布局与之匹配';什么内容?,c++,qt,autoresize,qlayout,C++,Qt,Autoresize,Qlayout,所以我有一个QVBoxLayout和两个子布局。 第一个包含标签,第二个包含glwidget。 目标是使第一个布局具有显示标签所需的精确大小,而不是更大,也不是更小(小部件与顶部对齐)。(因此它实际上占据了屏幕的一小部分)。我需要它独立于窗口大小。我试过一些东西,现在我只是用addStrech来让它至少过得去。 所以我想知道。我能通过布局管理实现我想要的吗 QVBoxLayout *v_layout = new QVBoxLayout (this); QHBoxLayout *labe
QVBoxLayout *v_layout = new QVBoxLayout (this);
QHBoxLayout *labels_layout = new QHBoxLayout (this);
QVBoxLayout *labels_layout1 = new QVBoxLayout (this);
QVBoxLayout *labels_layout2 = new QVBoxLayout (this);
QVBoxLayout *drawer_layout = new QVBoxLayout (this);
number_of_points_label = new QLabel (this);
set_n_label ();
function_name_label = new QLabel (this);
set_func_label ();
state_label = new QLabel (this);
set_state_label ();
fabs_max_label = new QLabel (this);
change_fabs_max_label ();
drawer_layout->addWidget (drawer);
labels_layout->setAlignment (Qt::AlignTop);
labels_layout1->addWidget (number_of_points_label);
labels_layout1->addWidget (function_name_label);
labels_layout1->addWidget (fabs_max_label);
labels_layout2->addWidget (state_label);
labels_layout->addLayout (labels_layout1);
labels_layout->addLayout (labels_layout2);
v_layout->addLayout (labels_layout);
v_layout->addLayout (drawer_layout);
v_layout->setStretchFactor (labels_layout, 1);
v_layout->setStretchFactor (drawer_layout, 8);
您可能需要显示一个图表和最少的代码才能获得帮助。只是一个猜测,而不是添加拉伸。请在添加glwidget时尝试设置。添加了所需的代码。我的意思是说,当然是这样的吗?;-)请尝试
v\u布局->setStretchFactor(标签\u布局,0)代码>和v_布局->设置拉伸系数(抽屉布局,1)
(或者只需使用addLayout()
的第二个参数即可)。这告诉布局为抽屉布局
提供所有剩余空间,而标签布局
必须消耗尽可能多的空间。