本文整理汇总了C++中QDialog::setVisible方法的典型用法代码示例。如果您正苦于以下问题:C++ QDialog::setVisible方法的具体用法?C++ QDialog::setVisible怎么用?C++ QDialog::setVisible使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QDialog
的用法示例。
在下文中一共展示了QDialog::setVisible方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: changeAttributArc
void Fenetre::changeAttributArc()
{
Graphe* graph=(Graphe*)graphe.getGraph();
vector<Arete*> listeArcs=graph->getListeArcs();
//Création d'une boîte de dialogue
QDialog fenDiag;
//Boutons OK et Annuler
QHBoxLayout *layoutButton=new QHBoxLayout;
QPushButton *okFenDiag=new QPushButton("&OK");
QPushButton *cancFenDiag=new QPushButton("&Annuler");
layoutButton->addWidget(okFenDiag);
layoutButton->addWidget(cancFenDiag);
connect(okFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(accept()));
connect(cancFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(reject()));
//Création de la liste des arcs
QComboBox *boxArcs=new QComboBox;
for (int i = 0 ; i < listeArcs.size(); i++){
boxArcs->addItem(listeArcs[i]->getDepart()->getNom()+"->"+listeArcs[i]->getArrivee()->getNom());
}
//Ajout de tout ça à la fenêtre de dialogue
QVBoxLayout *layoutFenetre=new QVBoxLayout;
layoutFenetre->addWidget(boxArcs);
layoutFenetre->addLayout(layoutButton);
fenDiag.setLayout(layoutFenetre);
//On affiche la fenêtre
fenDiag.setVisible(true);
fenDiag.setModal(true);
//On traîte la demande
if(fenDiag.exec()){ //Si on a cliqué sur ok !
Arete *arcModif=listeArcs[boxArcs->currentIndex()];
//On demande ce qu'on veut modifier à ce sommet
QDialog fenDiag2;
//On réutilise les mêmes boutons qu'avant
disconnect(okFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(accept()));
disconnect(cancFenDiag, SIGNAL(clicked()), &fenDiag, SLOT(reject()));
connect(okFenDiag, SIGNAL(clicked()), &fenDiag2, SLOT(accept()));
connect(cancFenDiag, SIGNAL(clicked()), &fenDiag2, SLOT(reject()));
QComboBox *boxOptions=new QComboBox;
QStringList options;
options<<"Modifier le départ"<<"Modifier l'arrivée";
boxOptions->addItems(options);
QVBoxLayout *layoutFenetre2=new QVBoxLayout;
layoutFenetre->removeItem(layoutButton);
layoutFenetre2->addWidget(boxOptions);
layoutFenetre2->addLayout(layoutButton);
fenDiag2.setLayout(layoutFenetre2);
fenDiag2.setVisible(true);
fenDiag2.setModal(true);
if(fenDiag2.exec()){
switch(boxOptions->currentIndex()){
case 0 : {
modifArcDepart(arcModif);
break;
} case 1 : {
modifArcArrivee(arcModif);
break;
}
}
}
}
}