C++ QTabWidget未出现
我在创建UI时遇到了一些困难 我需要的是: 1个QTabWidget,3个QWidget作为选项卡。其中一个小部件包含QPushButtons、QLineEdits,并且必须包含另一个QTabWidget 我的问题是: 当我在另一个QTabWidget上成功的时候,这个并没有出现。我已手动将QPushButton和QLineEdit放入.ui文件中。现在我想在同一个页面上动态创建一个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;
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);
}