C++ 以编程方式使用UI创建选项卡
这是我的用户界面: 这是以编程方式创建的选项卡:C++ 以编程方式使用UI创建选项卡,c++,c,qt,C++,C,Qt,这是我的用户界面: 这是以编程方式创建的选项卡: ui->tabWidget->addTab(new QWidget(), "Tab 2"); 我希望新创建的选项卡具有与“聊天室”选项卡完全相同的布局。任何关于如何做到这一点的建议都是非常好的 您应该为此布局创建一个定制的QTabWidget,名为ChatWidget,并制作一个工厂API,如下所示: ChatWidget * ChatWidget::creater(TabWidget * tw, ChatData * cd)
ui->tabWidget->addTab(new QWidget(), "Tab 2");
我希望新创建的选项卡具有与“聊天室”选项卡完全相同的布局。任何关于如何做到这一点的建议都是非常好的 您应该为此布局创建一个定制的QTabWidget,名为ChatWidget,并制作一个工厂API,如下所示:
ChatWidget * ChatWidget::creater(TabWidget * tw, ChatData * cd) {
ChatWidget * cw = ChatWidget.create();
tw.addTab(cast<QWidget>cw, 0);
// some init
...
return cw;
}
ChatWidget*ChatWidget::creater(TabWidget*tw,ChatData*cd){
ChatWidget*cw=ChatWidget.create();
tw.addTab(castcw,0);
//一些初始化
...
返回cw;
}
<> P>长时间不使用Qt和C++,这可能给你一个提示。 < P>你应该为这个布局创建一个自定义QTabWITGET,作为名称ChanWigGET,并制作一个类似这样的工厂API:
ChatWidget * ChatWidget::creater(TabWidget * tw, ChatData * cd) {
ChatWidget * cw = ChatWidget.create();
tw.addTab(cast<QWidget>cw, 0);
// some init
...
return cw;
}
ChatWidget*ChatWidget::creater(TabWidget*tw,ChatData*cd){
ChatWidget*cw=ChatWidget.create();
tw.addTab(castcw,0);
//一些初始化
...
返回cw;
}
长时间不使用Qt和C++,这可能给你一个提示。
< P>使用你当前的<强>聊天室<强>类作为<强>基类< /强>并在其中做一些布局的事情; 下次要创建新的选项卡时,只需执行以下操作:ui->tabWidget->addTab(new chatRoom(), "Tab 3");
希望能有所帮助。使用您当前的聊天室类作为基类,并在其中进行一些布局工作 下次要创建新的选项卡时,只需执行以下操作:
ui->tabWidget->addTab(new chatRoom(), "Tab 3");
希望能有所帮助。在Designer中,最简单的方法是创建一个名为
ChatTab
的新UI表单类,并基于QWidget
将聊天室小部件和布局从MainWindow UI表单移动(即剪切和粘贴)到ChatTab表单,但将QTabWidget
容器保留在MainWindow表单中。如果您希望聊天室第一次打开时位于主窗口中,请从inside Designer将其第一个QWidget
升级为ChatTab
任何附加选项卡应按如下方式以编程方式添加:
ui->tabWidget->addTab(new ChatTab(), "Tab 2");
如果你想让你的生活更轻松,可以在ChatTab构造函数中添加一些新奇的东西。最简单的方法(在Designer中)是创建一个新的UI表单类,名为类似于
ChatTab
,并基于QWidget
将聊天室小部件和布局从MainWindow UI表单移动(即剪切和粘贴)到ChatTab表单,但将QTabWidget
容器保留在MainWindow表单中。如果您希望聊天室第一次打开时位于主窗口中,请从inside Designer将其第一个QWidget
升级为ChatTab
任何附加选项卡应按如下方式以编程方式添加:
ui->tabWidget->addTab(new ChatTab(), "Tab 2");
如果您想让您的生活更轻松,请在ChatTab构造函数中添加一些有趣的内容。首先,您需要在主窗口中创建一个
QTabWidget
。Jacobs:检查更新的帖子。您需要以编程方式在新选项卡中复制布局。无论您如何创建第一个选项卡,都要做同样的事情。我不确定布局是如何以编程方式创建的,因为我使用了QT designer。首先,您需要在主窗口中创建一个QTabWidget
。Jacobs:检查更新的帖子。您需要在新选项卡中以编程方式复制布局。无论您如何创建第一个选项卡,都要做同样的事情。我不确定布局是如何以编程方式创建的,因为我使用了QT designer。与前面提到的QTabWidget方法相比,此方法的另一个优点是,ChatTab
小部件可以在任何类型的窗口QDockWidget、QDialog、QMainWindow中重复使用,与前面提到的QTabWidget方法相比,此方法的另一个优点是,ChatTab
小部件可以在任何类型的窗口QDockWidget、QDialog、QMainWindow等中重复使用。您只需将其放入包装器中即可。