2017-01-27 2 views
0

Я новичок в QT и пытаюсь добавить список доступных портов в раскрывающееся меню. Я могу добавить порты в качестве действий в меню, но как я могу динамически подключить его к слоту, учитывая, что я не знаю, сколько портов будет присутствовать?QT Creator - Добавление динамических портов в меню Вниз

//Populate drop down menus with available ports 
for (QSerialPortInfo port : QSerialPortInfo::availablePorts()) 
{ 
    //Grab available ports and add to menus 
    ui->menuA500_Comm->addAction(port.portName());  

} 
+0

Не может точно понять вопрос. Вы хотите определить, какой порт выбран в меню? – ilotXXI

ответ

0

Если menuA500_Comm является QMenu, вы можете просто добавить SLOT так:

ui->menuA500_Comm->addAction(port.portName(), this, SLOT(yourFunction())); 

В этом случае каждое действие будет вызывать ту же функцию.

QMenu также имеет сигналы, которые вы можете подключить, а затем выполнять разные действия в зависимости от инициированного действия.

QObject::connect(ui->ui->menuA500_Comm, SIGNAL(triggered(QAction*)), this, SLOT(yourSlot(QAction*))); 
Смежные вопросы