1 #include "serailplugin.h" 2 #include <QHBoxLayout> 3 #include <QStackedWidget> 4 #include "serialassistantwidget.h" 5 #include <QTabBar> 6 SerailPlugin(QWidget * parent)7SerailPlugin::SerailPlugin(QWidget *parent):IWidget(parent) 8 { 9 m_statckWidget = new QStackedWidget; 10 11 QHBoxLayout *hLayout = new QHBoxLayout(this); 12 hLayout->setContentsMargins(0,0,0,0); 13 hLayout->addWidget(m_statckWidget); 14 15 QTabBar *pTabBar = new QTabBar; 16 17 //pTabBar->setStyleSheet("QTabBar:tab::selected{color: gray;} "); 18 19 20 21 pTabBar->addTab("Serial1"); 22 pTabBar->addTab("Serial2"); 23 pTabBar->addTab("Serial3"); 24 connect(pTabBar, &QTabBar::tabBarClicked, this, [=, pTabBar](int index){ 25 int currentIndex = index; 26 if(currentIndex > m_statckWidget->count()-1) 27 { 28 SerialAssistantWidget * assiant = new SerialAssistantWidget; 29 currentIndex = m_statckWidget->addWidget(assiant); 30 } 31 m_statckWidget->setCurrentIndex(currentIndex); 32 SerialAssistantWidget *assiant = dynamic_cast<SerialAssistantWidget*>(m_statckWidget->currentWidget()) ; 33 assiant->setControl(pTabBar); 34 }); 35 36 pTabBar->tabBarClicked(0); 37 } 38 id()39QString SerailPlugin::id() 40 { 41 return "serial"; 42 } 43