1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56
| void MainWindow::detectionPortCOM()
{
/*=========================================
* Description : Détection automatique des ports et création des menus
* au lancement du programme
* Created : 25/09/2013 - 17:00
* Notes :
*=========================================*/
int i = 0;
ports = QextSerialEnumerator::getPorts(); //recuperation de l'ensemble des ports COM dans une liste
if(ports.isEmpty())
{
ui->menuSelection_portCOM->addMenu("Pas de Port Disponible");
}
else
{
foreach(QextPortInfo port, ports) // création d'un lien entre chaque port et une action dans le menu
{
QAction *action = new QAction(port.portName, this);
action->setCheckable(true);
ui->menuSelection_portCOM->addAction(action);
signalMapper->setMapping(action, port.portName);
connect(action, SIGNAL(triggered()), signalMapper, SLOT(map()));
actions.append(action);
i++;
nombreTotPortCOM = i;
}
}
}
void MainWindow::selectPort(QString name)
{
/*=========================================
* Description : Sélection du port
* Created : 25/09/2013 - 17:03
* Notes :
*=========================================*/
if(!actions.isEmpty()) // lors d'un clic sur un choix de port, celui-ci est marqué par un tick
{
ui->pushButton_Connexion->setEnabled(true);
foreach (QAction *act, actions)
{
act->setChecked(false);
if(act->text() == name)
{
portCOMName = name;
act->setChecked(true);
}
}
}
} |
Partager