我在创建UI时遇到了一些困难。
我需要的是:
1 QTabWidget,3 QWidget为标签。其中一个Widget包含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。我可以看到我的QTabWidget与show(),但我不能把它放在我的页面。
谢谢
发布于 2014-03-06 15:08:17
谢谢你帮了我。
解决方案是将布局放入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);
}https://stackoverflow.com/questions/22226429
复制相似问题