@minotavr1712

Как создать сетевое приложение с помощью модулей pyqt и socket?

У меня есть гуишное приложение, я хочу прикрутить в него работу с сетью, чтобы через это приложение можно было получать и отправлять данные на другой хост с этим же приложением.

class TerminalWidget(QWidget):
    def __init__(self, parent=None):
        super(QWidget, self).__init__(parent)
    …

class MainWindow(QMainWindow):
    def __init__(self, parent=None):
        super(MainWindow, self).__init__(parent)
        self.terminal_widget = TerminalWidget(self)
        self.tabWidget = QtWidgets.QTabWidget()
        self.setCentralWidget(self.tabWidget)
        self.tabWidget.addTab(self.terminal_widget, "Terminal")
        …


И потом планирую создать какой-то класс вида клиент, с методами, где в одном создам новый поток для прослушивания на определенном порту, а в другом будет создаваться новый поток, для отправки сообщения другому хосту.

Но проблема в том, что я не совсем понимаю какую связь установить между классами, относящимися к гуи и классом клиента. Мне нужно при запуске приложения чтобы сразу начиналось прослушивание => кажется, что надо создавать объект клиента в MainWindow и вызывать метод с созданием потока на прослушивание, но также мне нужно, чтобы из виджета Terminal я мог иметь доступ к методу отправки сообщения, который также в классе клиент => тут вроде тоже нужен объект клиента. И получается, что два раза создаю клиента, что вызывает избыточность и нелогичность. А как сделать адекватно это все — не могу представить.
  • Вопрос задан
  • 105 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы