QTabWidget не появляется

У меня есть некоторые трудности, чтобы создать свой пользовательский интерфейс.

Что мне нужно :

1 QTabWidget с 3 QWidget в качестве вкладок. Один из этих виджетов содержит QPushButtons, QLineEdits и должен содержать другой QTabWidget.

Моя проблема :

Там, где у меня есть успех на моем другом QTabWidget, этот не появляется. Я вручную поместил QPushButton и QLineEdit в файл .ui. Теперь я хочу динамически создать QTabWidget на этой же странице.

Код моей страницы:

namespace Ui
{
class cImageInterface;
}

class cImageInterface : public QWidget
{
Q_OBJECT

public:
cImageInterface();
~cImageInterface();

private:
Ui::cImageInterface* ui;

cAppTabWidget* tabW_Application;
};

Конструктор:

cImageInterface::cImageInterface() : ui(new Ui::cImageInterface)
{
tabW_Application = new cAppTabWidget(this);

ui->setupUi(this);
}

Код QTabWidget:

class cAppTabWidget : public QTabWidget
{
Q_OBJECT

public:
explicit cAppTabWidget(QWidget* parent);
~cAppTabWidget();

protected:

private:
Ui::cAppTabWidget* ui;
cAppInterface* tab_Application;
int m_NbTab;
};

Contructor:

cAppTabWidget::cAppTabWidget(QWidget* parent)
: ui(new Ui::cAppTabWidget)
, tab_Application(new cAppInterface)
, m_NbTab(1)
{
this->setGeometry(0, 230, 800, 360);
this->addTab(tab_Application, "App5896");
}

cAppInterface — это просто производный класс QWidget, только с setupUi в конструкторе. Я могу видеть мой QTabWidget с show() но я не могу поместить это в мою страницу.

Спасибо

0

Решение

Спасибо Туге за помощь.

Решением было поместить макет в cImageInterface а затем положить QTabWidget в этом.

Я столкнулся с проблемой, пытаясь создать его в своем коде, поэтому я поместил его в файл .ui.

<layout class="QVBoxLayout" name="appTabLayout">
<property name="sizeConstraint">
<enum>QLayout::SetNoConstraint</enum>
</property>

и тогда вы можете:

cImageInterface::cImageInterface() : ui(new Ui::cImageInterface)
{
tabW_Application = new cAppTabWidget(this);

ui->setupUi(this);

ui->appTabLayout->addWidget(tabW_Application);
}
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]