小部件隐藏在中央小部件下

时间:2013-08-22 09:43:10

标签: c++ qt

使用Qt 4.8,我有:

  • 主窗口(QMainWindow);
  • 一个中央小部件setCentralWidget(x),x包含一个包含图像的QLabel;
  • 另一个小部件“B”:包含图像的QLabel

我的问题是小部件B隐藏在中央小部件下。我怎么能在前台提升小部件B?

我知道B隐藏在中央小部件下面,因为有时当B放在左侧,而中央小部件的图像足够小时,我可以看到B的一部分。

2 个答案:

答案 0 :(得分:2)

您可以使用B.raise()来增加B小部件的z-index。

  

将此小部件提升到父窗口小部件堆栈的顶部。   在此调用之后,窗口小部件将在视觉上位于任何重叠的兄弟窗口小部件之前。

答案 1 :(得分:1)

您还可以将“B”作为中央窗口小部件的子项或窗口小部件X的子项附加。这应该显示在顶部。

QWidget B = new QWidget(x);

或者,使用布局并将其添加到中央窗口小部件,并将小部件x和B添加到布局中。例如: -

QHBoxLayout* pLayout = new QHBoxLayout();
pLayout->addWidget(B);
pLayout->addWidget(x);

pMainWindow->setCentralWidget(pLayout);