如何在使用网格布局和将重叠小部件放置在距窗口边界特定距离的位置时重叠qwidgets?

时间:2015-04-02 12:40:39

标签: c++ qt

我正在编写一个游戏,我有一个标签小部件占据了窗口的大部分。我想使用标签栏中的额外空格来显示按钮。我在网格布局中有标签小部件。为了实现这一点,我使用下面的代码来删除按钮小部件并将其添加到所需区域(解决其他人的问题)。

ui->centralLayout->removeWidget(ui->exitButton);
ui->centralLayout->removeWidget(ui->ResizeButton);
ui->centralLayout->addWidget(ui->ResizeButton,0,4, Qt::AlignTop|Qt::AlignRight);
ui->centralLayout->addWidget(ui->exitButton,0,4, Qt::AlignTop|Qt::AlignRight);

这对我不起作用;但是,因为我希望第二个小部件 - 调整大小按钮 - 位于退出按钮的左侧。发生的是它反而与出口按钮重叠。我只需要向左移动21个像素并且不知道如何!

我尝试将两个按钮放在一个框架中,然后按照按钮的方式移除和添加框架。不幸的是,qt帧对象不存在我使用的相同函数。

以下是我窗口的一些照片。 https://docs.google.com/document/d/17w5USWQcCtb6OdcRShdcYcRjXTcdVpmdrG5TWLX71y8/edit?usp=sharing

2 个答案:

答案 0 :(得分:0)

您正在使用void QGridLayout::addWidget(QWidget * widget, int row, int column, Qt::Alignment alignment = 0)重载。 第二和第三参数是网格的行和列。然后你将2个小部件放在同一个单元格中,这样它们就会相互重叠。

答案 1 :(得分:0)

我解决了我的问题。早些时候,当我试图将它们添加到一个框架并重新定位它时,我不得不使用一个小部件作为我的按钮的容器让我按照我之前尝试单独放置按钮的方式放置它们。

相关问题