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