wx.Panneau de l'échelle pour s'adapter ensemble du Cadre parent malgré une taille
Je suis un newbie à wxpython
.
Je suis en train d'avoir un Cadre et dans un petit panel qui je suis coloration bleue.
Toutefois, peu importe ce que je fais le wx.Panneau à l'aide de l'attribut de taille, le groupe spécial unique s'enclenche à la taille de son cadre parent.
Si j'ajoute un autre panneau (pane2 dans le code ci-dessous), les deux volets sont tirés au sort à la bonne taille.
Je sais que je peux contrôler ces panneaux à l'aide de sizers. Mais j'essayais de comprendre pourquoi la wx.Panel
objet se comporte de la manière qu'il le fait quand il est tout seul.
Voici le code:
import wx
class PlateGui(wx.Frame):
def __init__(self, *args , **kwds):
self.frame = wx.Frame.__init__(self,*args, **kwds)
print "Made frame"
if __name__ == "__main__":
an_app = wx.PySimpleApp()
aframe = PlateGui(parent=None,id=-1,title="Test Frame",size=(300, 300))
pane = wx.Panel(parent=aframe,size=(100,100),style=wx.RAISED_BORDER)
pane.SetBackgroundColour(wx.Colour(0,0,255))
# pane2 = wx.Panel(parent=aframe,size=(200,100),style=wx.RAISED_BORDER)
# Commenting out the second pane makes the first pane fit
# entire frame regardless of size specified
aframe.Show()
an_app.MainLoop()
OriginalL'auteur harijay | 2009-06-24
Vous devez vous connecter pour publier un commentaire.
Par défaut, wx.Image sizer qui étend son enfant pour remplir le cadre. Créez votre propre sizer, ajouter le panneau (sans préciser de développer des drapeaux) et définir le cadre de la calibreuse.
À partir d'ici: docs.wxwidgets.org/stable/wx_wxframe.html#wxframe "Si le cadre a exactement un enfant de fenêtre, pas de comptage de l'état et la barre d'outils, cet enfant est redimensionnée afin de prendre la totalité de l'image de la zone client." Vous devez voter moi si vous aimez ma réponse. Vous devez marquer ma réponse comme correcte si vous croyez qu'il est. N'a pas d'importance comment les nouvelles que vous êtes. 🙂
Hey, des années plus tard, j'ai eu une question: "Dis: je veux encore un sizer, mais j'aimerais aussi le panneau d'ajustement dans le cadre parent, que dois-je faire?
sizer.add(panel,wx.EXPAND)
ne fonctionne pas, semble comme.Essayez
sizer.Add(panel, 1, wx.EXPAND)
OriginalL'auteur FogleBird