2017-09-22 2 views
1

Le code suivant est utilisé par moi pour générer dynamiquement un QLabel et un QLineEdit (verticalement) basé sur un QStringList (nommé newList)!horizontalement Aligner les widgets créés dynamiquement qt C++

for(int i=0;i<newList.size();i++) 
{ 
     QlineEdit *a=new QLineEdit(); 
     QLabel *b= new QLabel(); 

     ui->verticalLayout->addWidget(a); 
     ui->verticalLayout_2->addWidget(b); 

     b->setText(newList[i]); 
} 

Les deux étiquettes et les modifications de ligne sont générés et les éléments de la liste de chaînes est représentée dans les étiquettes! Mais le problème je fais face est que l'étiquette correspondant à chaque édition de ligne n'est pas alligned horizontalement avec cette édition de la ligne! Comment puis-je corriger cela?

Répondre

0

Vous pouvez placer LineEdit et Label dans un QFrame et placer le QFrame dans la disposition verticale. Ou vous utilisez une disposition horizontale pour LineEdit et Label et mettez ceci à la disposition verticale.

modifier: (non testé et seulement écrire rapidement!)

for(int i=0;i<newList.size();i++) 
{ 
     QFrame *f = new QFrame(); 
     QlineEdit *a=new QLineEdit(f); 
     QLabel *b= new QLabel(f); 


     ui->verticalLayout->addWidget(f); 

     b->setText(newList[i]); 
} 

Exampels for different ways in comparison

+0

Thanx accouplent cela fonctionne –