我正在尝试创建一个具有多个按钮的UI(位于左下角),当您单击每个按钮时,右侧会出现另一个框架。我已经实现了能够显示/隐藏它,但我仍然无法从一开始就隐藏它,你知道如何做到这一点吗?
另一个问题是重叠。它需要改变哪个帧在顶部,但显然这是不可能的。那么我怎样才能将框架带到其他框架的顶端呢?有办法吗?取消检查许多radiobuttons(我不知道如何),尽管它是不受欢迎的,也会做的伎俩
请注意,我只是在使用QT Creator(在这种情况下我正在做一个小部件),所以如果你解释一下有关实际编码的任何内容,你必须在最简单和一步一步的地方解释它。对不起...
非常感谢你们!
答案 0 :(得分:1)
有一个插槽可以将小部件置于顶部 - 它被称为“加注”。您可以触发此插槽,就像触发setShown插槽一样。
从一开始就将某些东西设置为不可见,这有点棘手。你需要做的是在你的框架创建后立即调用setShown(false)。通常我们在代码中执行此操作。
通常,在创建ui文件时,应该有一个同名的cpp和h文件。所以在你的情况下你有一个Raka.ui文件,还应该有一个Raka.h和Raka.cpp文件。如果你没有,你应该继续在QtCreator中创建它们。
您的标头文件应如下所示:
#ifndef RAKA_H
#define RAKA_H
#include <QtGui/QWidget>
#include "ui_Raka.h"
class Raka: public QWidget
{
Q_OBJECT
public:
Raka(QWidget *parent = 0, Qt::WFlags flags = 0);
~Raka();
private:
Ui::Rakaui;
};
#endif // RAKA_H
然后你的cpp文件......
#include "Raka.h"
Raka::Raka(QWidget *parent, Qt::WFlags flags)
: QWidget(parent, flags)
{
ui.setupUi(this);
ui.MyFrame->setShown(false);
}
Raka::~Raka()
{
}
在构造函数中,您可以进行任何所需的初始化。在这种情况下,我们想让“MyFrame”不可见,所以我们调用setShown并传递false。
我希望有所帮助。
答案 1 :(得分:0)
将此添加到您的函数中:
QFrame *FN ;
FN = ui->FrameName;
FN->setVisible(false);