Я пытаюсь отобразить настройки соединения, которые требуются для ssh-соединения, я использую wx.BoxSizer для организации макета, к сожалению, макет не работает и складывает все элементы в верхнем левом углу. (Пока я не изменю размер окна, масштабируя / максимизируя).
Я уже пытался использовать: self.Update (), self.Refresh () и self.Layout ()
после того, как я вызвал метод self.Show (True), но у меня это не работает.
Если я удаляю раздел «Настройка строки состояния» и «Создание меню», это работает, но они мне нужны.
import wx
import connectionSettingsProperties
import connectionSettings
from pubsub import pub
class MyFrame(wx.Frame):
def __init__(self,parent,title):
wx.Frame.__init__(self, parent, title = title, size = (1600,800))
panel = wx.Panel(self)
#statusbar setup
self.CreateStatusBar()
# menu setup
filemenu = wx.Menu()
# creating the menubar
menuBar = wx.MenuBar()
menuBar.Append(filemenu,"Menu")
self.SetMenuBar(menuBar)
#connectionstatus init
self.ipLabel = wx.StaticText(panel, label = 'ip:')
self.usernameLabel = wx.StaticText(panel, label = 'username:')
#building layout
vboxMain = wx.BoxSizer(wx.VERTICAL)
hboxConnection = wx.BoxSizer(wx.HORIZONTAL)
hboxConnection.Add(self.ipLabel)
hboxConnection.Add(self.usernameLabel)
vboxMain.Add(hboxConnection)
panel.SetSizer(vboxMain)
#show content
self.Show(True)
app = wx.App(False)
frame = MyFrame(None, 'MyApp')
app.MainLoop()
это то, что он изначально показывает: https://imgur.com/VQebA9t
и вот как это должно выглядеть: https://imgur.com/60V1tcF
Второй результат отображается, как только я масштабирую окно.