btn_terminal->setProperty("SerialObject", QVariant::fromValue(serial));
QPushButton * btn = qobject_cast<QPushButton*>(sender());
auto serial = btn->property("SerialObject").value<SerialPortClass*>();
class MainWindow
{
...
private:
QMap<QButton*, SerialPortClass*> _serialMap;
}
void MainWindow::openTerminal()
{
QPushButton* btn = qobject_cast<QPushButton*>(sender());
auto serial = _serialMap[btn];
auto terminal=new Terminal(serial);
terminal->show();
}
void MainWindow::connectSerialPort()
{
...
_serialMap[btn_terminal] = serial;
}
new Terminal(serial)
и создавайте объект при клике по кнопке отображения формы терминала