QT Designer показать / скрыть рамку (или поставить сверху) - PullRequest
0 голосов
/ 06 октября 2011

Я пытаюсь создать пользовательский интерфейс с несколькими кнопками (слева внизу), и когда вы нажимаете на каждую из них, справа появляется другая рамка.Мне удалось показать / скрыть его, но я до сих пор не могу скрыть его с самого начала. У вас есть идеи, как это сделать?

Другая проблемао перекрытии.Нужно изменить, какой кадр находится сверху, но, видимо, это невозможно.Итак, как я могу вывести рамку на вершину других?Есть ли способ?снятие отметки со многих радиокнопок (я не знаю как), несмотря на то, что это нежелательно, также помогло бы

Обратите внимание, что я просто работаю с QT Creator (в этом случае я создаю виджет)поэтому, если вы объясните что-нибудь о реальном кодировании, вам придется объяснить это в самом простом и пошаговом порядке ... извините за это

Большое вам спасибо!

1 Ответ

1 голос
/ 06 октября 2011

Есть слот для поднятия виджета наверх - он называется «поднять». Вы можете активировать этот слот так же, как вы запускаете слот setShown.

Установка чего-то невидимого с самого начала немного сложнее. Вам нужно вызвать setShown (false) для вашего фрейма сразу после его создания. Обычно мы делаем это в коде.

Обычно, когда вы создаете файл пользовательского интерфейса, должен присутствовать сопроводительный файл 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.

Надеюсь, это поможет.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...