Попробуйте поместить «панель» в «рамку».
Вот макет того, что, я полагаю, является вашей необходимой отправной точкой.
import wx
class CipherTexter(wx.Frame):
def __init__(self, parent, title):
wx.Frame.__init__(self, parent, title=title, size=(1000, 600))
self.panel = wx.Panel(self)
cipherText = wx.StaticText(self.panel, label="Cipher Texter ", pos=(20, 30))
encryptorText = wx.StaticText(self.panel, label="Encryptor ", pos=(20, 70))
decryptorText = wx.StaticText(self.panel, label="Decryptor ", pos=(20, 100))
self.cipher = wx.TextCtrl(self.panel, -1, style=wx.TE_MULTILINE, size=(400,400), pos=(400, 30))
self.encryptor = wx.TextCtrl(self.panel, -1, size=(100,30), pos=(200, 70))
self.decryptor = wx.TextCtrl(self.panel, -1, size=(100,30), pos=(200, 100))
self.encrypt = wx.Button(self.panel, -1, "Encrypt", pos=(20, 140))
self.decrypt = wx.Button(self.panel, -1, "Decrypt", pos=(20, 180))
self.panel.SetBackgroundColour('white')
self.encrypt.Bind(wx.EVT_BUTTON, self.encryptNow)
self.decrypt.Bind(wx.EVT_BUTTON, self.decryptNow)
self.Show()
def encryptNow(self, event):
print("Encrypting")
cipher = self.cipher.GetValue()
encryptor = self.encryptor.GetValue()
print(cipher)
print("with ", encryptor)
def decryptNow(self, event):
print("De-Encrypting")
cipher = self.cipher.GetValue()
decryptor = self.decryptor.GetValue()
print(cipher)
print("with ", decryptor)
app = wx.App(False)
frame = CipherTexter(None, "The SS Cipher")
app.MainLoop()