-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp-v2-my_app.py
More file actions
67 lines (48 loc) · 2.06 KB
/
app-v2-my_app.py
File metadata and controls
67 lines (48 loc) · 2.06 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import wx
class MyFrame(wx.Frame):
def __init__(self, parent, title):
super(MyFrame, self).__init__(parent, title=title)
# Cria um painel para conter os widgets
self.panel = wx.Panel(self)
# Cria os widgets
self.create_text_ctrl()
self.create_button()
# Cria o sizer e organiza os widgets
self.organize_widgets()
# Ajusta a dimensão mínima da janela
self.set_min_size()
# Ajusta o tamanho da janela e centraliza
self.fit_and_center()
# Traz o botão para frente do campo de preenchimento
self.button.Raise()
def create_text_ctrl(self):
self.text_ctrl = wx.TextCtrl(self.panel)
def create_button(self):
self.button = wx.Button(self.panel, label="Clique aqui")
def organize_widgets(self):
# Cria um sizer para organizar os widgets
sizer = wx.BoxSizer(wx.HORIZONTAL)
# Adiciona o botão ao sizer com uma borda e sem expansão
sizer.Add(self.button, 0, wx.ALL | wx.ALIGN_CENTER, 10) # 10 pixels de borda em todos os lados
# Adiciona um espaço vazio para separar o campo de preenchimento do botão
sizer.AddSpacer(10) # Adiciona 10 pixels de espaço vazio
# Adiciona o campo de preenchimento ao sizer com uma borda e sem expansão
sizer.Add(self.text_ctrl, 0, wx.ALL | wx.ALIGN_CENTER, 10) # 10 pixels de borda em todos os lados
# Define o sizer no painel
self.panel.SetSizer(sizer)
# Centraliza os widgets no painel
sizer.Fit(self.panel)
self.panel.Layout()
def set_min_size(self):
# Define a dimensão mínima da janela
self.SetMinSize(wx.Size(500, 400)) # Largura mínima de 500 e altura mínima de 400
def fit_and_center(self):
# Ajusta o tamanho da janela para que os widgets sejam visíveis
self.Fit()
# Centraliza a janela na tela
self.Centre()
if __name__ == '__main__':
app = wx.App()
frame = MyFrame(None, title="Preenchimento")
frame.Show()
app.MainLoop()