繁体   English   中英

QTabWidget没有出现

[英]QTabWidget not appearing

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

我需要的 :

1个QTabWidget,其中3个QWidget作为选项卡。 这些小部件之一包含QPushButton,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帮助我。

解决方案是将Layout放入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);
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM