init: начало работы над приложением с использованием wxPython

This commit is contained in:
2026-08-05 02:25:56 +03:00
commit 58aaf93392
12 changed files with 495 additions and 0 deletions
+53
View File
@@ -0,0 +1,53 @@
import wx
from mind_reader.ui.dialogs import ClientConnectDialog, ServerStartDialog
from mind_reader.ui.menu_bar import AppMenuBar
class MainFrame(wx.Frame):
def __init__(self):
super().__init__(
parent=None,
id=wx.ID_ANY,
title="Mind Reader",
size=wx.Size(700, 500),
style=wx.DEFAULT_FRAME_STYLE,
)
self.Center()
self.menu_bar = AppMenuBar(self)
self.SetMenuBar(self.menu_bar)
self.CreateStatusBar(1)
self.SetStatusText("Подключение отсутствует")
self._bind_menu_events()
def _bind_menu_events(self):
self.Bind(
wx.EVT_MENU, self.on_client_connect, self.menu_bar.item_client
)
self.Bind(wx.EVT_MENU, self.on_server_start, self.menu_bar.item_server)
self.Bind(
wx.EVT_MENU, self.on_disconnect, self.menu_bar.item_disconnect
)
def on_client_connect(self, event):
d = ClientConnectDialog(self)
if d.ShowModal() == wx.ID_OK:
name, ip = d.get_data()
self.menu_bar.set_connected_state(True)
self.SetStatusText(f"Подключено к {ip} | Ваше имя {name}")
d.Destroy()
def on_server_start(self, event):
d = ServerStartDialog(self)
if d.ShowModal() == wx.ID_OK:
name, ip = d.get_data()
self.menu_bar.set_connected_state(True)
self.SetStatusText(f"Сервер запущен на {ip} | Ваше имя {name}")
d.Destroy()
def on_disconnect(self, event):
self.menu_bar.set_connected_state(False)
self.SetStatusText("Подключение отсутствует")