Создайте новый сигнал в вашем виджете и подключите его к вашему TCP-серверу (вы можете подключить сигнал к другому):
class MyWidget: public QWidget
{
Q_OBJECT
...
private:
QTcpServer* myServer;
signals:
void newConnectionAccepted();
}
MyWidget::MyWidget(): QWidget()
{
connect(myServer, SIGNAL(newConnection()), this, SIGNAL(newConnectionAccepted()));
}
Итак, вы можете создать ваше соединение в главном окне:
MainWindow::MainWindow()
{
connect(myWidget, SIGNAL(newConnectionAccepted()), this, SLOT(processNewConnection()));
}
Делая это, вы не нарушаете принципы SOLID, выставляя объект TCP-сервера за пределы виджета.