【发布时间】:2010-11-24 19:38:34
【问题描述】:
早上好, 我必须将一些 QWidget 和布局布局到主布局中,但是我有一个无法删除的空间问题。 基本上我要实现的是一个水平布局,其中包含一个网格布局和一些按钮(都在一条水平线上)。网格布局 (2x2) 包含 2 个 QLabels 和 2 个 QLeds。 不幸的是,Qt 在网格布局和第一个按钮之间放置了一个空格,正如您在此处所附图片中看到的那样 http://img413.imageshack.us/img413/9132/problemhu.png 我会删除这样的空间。 这是我写的代码:
QGridLayout* gl = new QGridLayout();
gl->setAlignment(Qt::AlignLeft);
gl->setContentsMargins(0, 0, 0, 0);
gl->addWidget(activeLabel, 0, 0);
gl->addWidget(m_focusLed, 0, 1);
gl->addWidget(encodingLabel, 1, 0);
gl->addWidget(m_encodingLed, 1, 1);
这创建了网格布局并在其上添加了 QLabels 和 QLeds。 然后我将按钮添加到水平布局中:
/* layout buttons */
QHBoxLayout* lo = new QHBoxLayout();
lo->setSpacing(0);
lo->addLayout(gl); // <--here I add the grid layout
lo->addWidget(m_goToBeginBtn);
lo->addWidget(m_goToEndBtn);
lo->addWidget(m_frewBtn);
lo->addWidget(m_fforBtn);
lo->addSpacing( 10 );
lo->addWidget(m_ffrewBtn);
lo->addWidget(m_ffforBtn);
lo->addSpacing(10);
lo->addWidget(m_prevBtn);
lo->addWidget(m_nextBtn);
lo->addWidget(m_playBtn);
lo->addWidget(m_stopBtn);
lo->addWidget(m_cutBtn);
lo->addSpacing(10);
lo->addWidget(m_zoomInBtn);
lo->addWidget(m_zoomOutBtn);
lo->addSpacing(10);
lo->addWidget(m_bgSndCheckBox);
lo->addWidget( m_showPanelBtn);
我不知道为什么 Qt 在网格布局和第一个按钮之间放置这样的空间。我会删除它。我能怎么做?我没有从 Qt 邮件列表中获得帮助。
最好的问候
【问题讨论】: