Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ QTabWidget未出现_C++_Qt_Qwidget_Qtabwidget - Fatal编程技术网

C++ QTabWidget未出现

C++ QTabWidget未出现,c++,qt,qwidget,qtabwidget,C++,Qt,Qwidget,Qtabwidget,我在创建UI时遇到了一些困难 我需要的是: 1个QTabWidget,3个QWidget作为选项卡。其中一个小部件包含QPushButtons、QLineEdits,并且必须包含另一个QTabWidget 我的问题是: 当我在另一个QTabWidget上成功的时候,这个并没有出现。我已手动将QPushButton和QLineEdit放入.ui文件中。现在我想在同一个页面上动态创建一个QTabWidget 我的页面代码: namespace Ui { class cImageInterface;

我在创建UI时遇到了一些困难

我需要的是:

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;
};
承包商:

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。我可以通过
show()
查看我的QTabWidget,但无法将其放入页面中


谢谢

谢谢thuga对我的帮助

解决方案是将布局放入
cImageInterface
,然后将
QTabWidget
放入其中

我遇到了一个问题,试图在代码中创建它,所以我将它放在了.ui文件中

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

嗯,有可能一页一页有两个版面吗?或者只有一个,但有x、y等值?因为这不是我想要的:编辑:我认为我很愚蠢,我已经找到了解决办法。如果它不工作,将进行更新,我已将布局放入.ui文件,并
ui->appTabLayout->addWidget(tabW_应用程序)
进入
cImageInterface
constructor,它正在编译,但我有一个
核心转储
错误你在做什么
ui->appTabLayout->addWidget(tabW\u应用程序)
ui->setupUi(此)
之前?在调用
setupUi
之前,您无法访问
ui
成员。您会摇滚。谢谢我会尽快接受我自己的答案。
cImageInterface::cImageInterface() : ui(new Ui::cImageInterface)
{
  tabW_Application = new cAppTabWidget(this);

  ui->setupUi(this);

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