2010-03-03 4 views
1

J'essaie de faire évoluer tous les widgets en fonction de la taille de la fenêtre. J'ai une fenêtre principale qui a un QTabWidget avec un support QWidget pour chaque onglet. J'ai alors un widget personnalisé avec un fichier .ui séparé que je définis pour remplir l'espace QWidget de l'onglet. Le problème est que je n'arrive pas à développer le contenu de QWidget, seulement l'onglet et QWidget de la fenêtre principale. De plus, j'ai remarqué que si je change l'argument ui-> setupUi() pour le widget personnalisé de "this" à "parent", le problème est résolu, et le widget personnalisé sera mis à l'échelle correctement. Le seul problème avec ceci n'est aucun des boutons fonctionnent quand je fais cela. La sortie de l'application lit "No Slot" trouvé des erreurs pour les boutons. Quelle est la bonne façon de faire ce lien?Connexion d'un widget personnalisé à QWidgetTab pour le dimensionnement

Edit: Exemple de code

MainWindow:: ... 
{ 
    //assign customWidget to widget placeholder on tabWidget. 
    //holder is just a blank widget set in gridLayout on tab widget. 
    CustomWidget * customWidget = new CustomWidget(ui->customWidgetHolder); 

    setCentralWidget(ui->tabWidget); 
    //This gets the sizing I want with the tabs, but 
    //doesn't pass it past the customWidgetHolder. 
} 

Répondre

2

D'après ce que j'undertand, vous devez utiliser une mise en page, pour votre widget personnalisé dans votre onglet

QTabWidget* tabWidget = new QTabWidget(); 
    QWidget* tab = new QWidget(); 
    QVBoxLayout* verticalLayout = new QVBoxLayout(tab); 

    YourWidget* widget = new YourWidget(tab); 
    verticalLayout->addWidget(widget); 

    tabWidget->addTab(tab, QString()); 

Mais vous aurez besoin d'être plus précis (exemple de code?) sur la connexion SIGNAL/SLOT que vous avez faite si vous voulez répondre à ce sujet.

+0

QVBoxLayout * vLayout = nouveau QVBoxLayout (ui-> customWidgetHolder); customWidget = nouveau CustomWidget (ui-> deptWidgetHolder); vLayout-> addWidget (customWidget); a travaillé comme un charme, merci! –

Questions connexes