qt5.4(qt creator 3.3.0): QTabWidget


void RobotScene::initSetupWidget()
{
//    ConfigWidget* config_widget = new ConfigWidget();
//    setup_widget_pool_["ConfigWidget"] = config_widget;

  WorkSetupWidget* work_setup = new WorkSetupWidget;
  setup_widget_pool_.push_back ( work_setup );


  InstallWidget* install_widget = new InstallWidget();
  setup_widget_pool_.push_back ( install_widget );

//    TaskWidget* task_widget = new TaskWidget();
//    setup_widget_pool_["TaskWidget"] = task_widget;


  MapWidget* map_widget = new MapWidget();
  setup_widget_pool_.push_back ( map_widget );

//  NaviWidget* navi_widget = new NaviWidget();
//  setup_widget_pool_.push_back(navi_widget);

  setup_widget_ = new QTabWidget;
  setup_widget_->setAutoFillBackground ( true );

  QPixmap pixmap ( ":/images/work_settings/icon/ico4.png" );
  QPalette   palette;
  palette.setBrush (  setup_widget_->backgroundRole(), QBrush ( pixmap ) );
  setup_widget_->setPalette ( palette );

  setup_widget_->setTabPosition ( QTabWidget::West );
//wsh
 setup_widget_->setStyleSheet("QTabBar::tab {  background-image: url(:/images/work_settings/icon/ico4.png);}");
 // setup_widget_->setStyleSheet("QTabBar::tab {  background-color: black; }");
//    QDesktopWidget* desktop_widget = QApplication::desktop();
//    QRect application_rect = desktop_widget->screenGeometry();
  setup_widget_->setIconSize ( QSize ( 142, 70 ) );  ;

  QIcon* tab_icon;
  QIcon* tab_icon_off;

  for ( QVector<TabWidget*>::iterator it = setup_widget_pool_.begin();
        it != setup_widget_pool_.end();
        it ++ )
  {

    TabWidget* widget = *it;
    tab_icon = widget->getIconOn();
    tab_icon_off = widget->getIconOff();

    QString tab_text = widget->getSceneText();

    if ( ( it == setup_widget_pool_.begin() ) )
    {
      setup_widget_->addTab ( widget,  *tab_icon_off, tab_text ); //scene->getSceneTabText());
    }
    else
    {
      setup_widget_->addTab ( widget,  *tab_icon, tab_text ); //scene->getSceneTabText());
    }

  }
  connect ( setup_widget_, SIGNAL ( currentChanged ( int ) ),
            this, SLOT ( setupWidgetCurrentChanged ( int ) ) );

 

}

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 setup_widget_->setCurrentIndex ( index );

  QIcon* tab_icon_on;
  QIcon* tab_icon_off;

  for ( QVector<TabWidget*>::iterator it = setup_widget_pool_.begin();
        it != setup_widget_pool_.end();
        it ++ )
  {

    TabWidget* widget = *it;

    tab_icon_on = widget->getIconOn();

    tab_icon_off = widget->getIconOff();

    int index_list = setup_widget_->indexOf ( widget );

    if ( index == index_list )
    {
      setup_widget_->setTabIcon ( index_list, *tab_icon_off );
    }
    else
    {
      setup_widget_->setTabIcon ( index_list, *tab_icon_on );
    }

  }


  current_tab_widget_index_ = index;
}

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值