[Resuelto] QTabWidget esconder una pestaña



  • Hola a todos,

    En el proyecto que estoy trabajando el usuario puede pasar de un tab al siguiente cuando clica en un botón que hay en el tab anterior. ( En el slot del botón: ui->Pestanas->insertTab(1, ui->Pestana_Orden_Trabajo, "Orden de Trabajo");
    ui->Pestanas->setCurrentIndex(1); )

    Hasta aquí todo bien, pero quiero que al iniciar la ventana sólo se visualice la primera pestaña y conforme se clique en los botones aparezcan las otras dos. Lo que he intentado es esto:

    Partes::Partes(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Partes)
    {
        ui->setupUi(this);
    
        ui->Pestanas->setCurrentIndex(0);
        ui->Pestanas->removeTab(1);
        ui->Pestanas->removeTab(2);
    
    }
    

    Hace desaparecer la segunda pestaña que viene por defecto al colocar el QTabWidget, pero la pestaña que añadí para editar su aspecto no la hace desaparecer.

    ¿Qué puedo hacer?

    Muchas gracias



  • Resuelto.
    El problema era que cuando hace el primer remove los indices cambian, así que cuando elimino el indice 1 los indices pasan de ser 0,1,2 a ser 0,1. El segundo remove intenta eliminar el indice 2 pero este dejó de existir cuando hace el primer remove.
    Así que la solución es esta:

    Partes::Partes(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Partes)
    {
        ui->setupUi(this);
    
        ui->Pestanas->setCurrentIndex(0);
        ui->Pestanas->removeTab(1);
        ui->Pestanas->removeTab(1);
    
    }
    

    Or:

    Partes::Partes(QWidget *parent) :
        QDialog(parent),
        ui(new Ui::Partes)
    {
        ui->setupUi(this);
    
        ui->Pestanas->setCurrentIndex(0);
        ui->Pestanas->removeTab(2);
        ui->Pestanas->removeTab(1);
    
    }
    

    Como puedo marcar este post como resuelto?


Log in to reply
 

Looks like your connection to Qt Forum was lost, please wait while we try to reconnect.