[python] Wx udělátko

vronskij na gmail.com vronskij na gmail.com
Pondělí Leden 1 21:14:56 CET 2007


Zdravím,

Toto je príklad použitia widgetu wx.StaticBox.


#!/usr/bin/python

# staticbox.py

import wx

class MyDialog(wx.Dialog):
    def __init__(self, parent, id, title):
        wx.Dialog.__init__(self, parent, id, title, size=(250, 230))

        wx.StaticBox(self, -1, 'Personal Info', (5, 5),
                            size=(240, 170))
        wx.CheckBox(self, -1 ,'Male', (15, 30))
        wx.CheckBox(self, -1 ,'Married', (15, 55))
        wx.StaticText(self, -1, 'Age', (15, 95))
        wx.SpinCtrl(self, -1, '1', (55, 90), (60, -1), min=1, max=120)
        wx.Button(self, 1, 'Ok', (90, 185), (60, -1))

        self.Bind(wx.EVT_BUTTON, self.OnClose, id=1)

        self.Centre()
        self.ShowModal()
        self.Destroy()

    def OnClose(self, event):
        self.Close()


app = wx.App(0)
MyDialog(None, -1, 'staticbox.py')
app.MainLoop()


Na TkInter by som rýchlo zabudol, je to zastaralé. wxPython obsahuje
viacero prepracovaných layout managerov, s ktorými sa dá dosiahnuť
prakticky všetko.

ten nákres by sa dal spraviť wx.GridBagSizer-om. Išlo by to aj
kombináciou viacerých jednoduchších managerov, napríklad
vertikálny wx.BoxSizer a do neho horizontálne wx.BoxSizer-i.

Každý programátor musí bezpodmienečne zvládnuť layout managery.
Princíp je vo všetkých jazykoch a frameworkoch rovnaký, takže ak
sa to raz dôkladne naštuduje, potom sa tie vedomosti zúročia aj pri
iných frameworkoch.
Na tvojom mieste by som začal od piky a dôkladne naštudoval všetky
managery a vyskúšal si všetky možné scenáre na layout, ktoré by
ma napadli.


Jakub Vojacek wrote:
> Ahoj
>
>
> Potřeboval bych vědět jak se jmenuje toto udělátko:
> http://www.partida.wz.cz/frame.jpg
> a ještě jestli Wx neobsahuje geometry manager něco jako je w Tk pack(). je otrava to pořád vyměřovat aby udělátka byli vedle sebe. A poslední dotaz, jak lze změnit velikost okna??
> Děkuji
> ------=_NextPart_000_0005_01C72B6D.C2AFF6D0
> Content-Type: text/html; charset=iso-8859-2
> Content-Transfer-Encoding: quoted-printable
> X-Google-AttachSize: 997
>
> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
> <HTML><HEAD>
> <META http-equiv=Content-Type content="text/html; charset=iso-8859-2">
> <META content="MSHTML 6.00.2900.3020" name=GENERATOR>
> <STYLE></STYLE>
> </HEAD>
> <BODY bgColor=#ffffff>
> <DIV><FONT face=Arial size=2>Ahoj</FONT></DIV>
> <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
> <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
> <DIV><FONT face=Arial size=2>Potřeboval bych vědět jak se jmenuje toto
> udělátko:</FONT></DIV>
> <DIV><FONT face=Arial size=2><A
> href="http://www.partida.wz.cz/frame.jpg">http://www.partida.wz.cz/frame.jpg</A></FONT></DIV>
> <DIV><FONT face=Arial size=2>a ještě jestli Wx neobsahuje geometry manager něco
> jako je w Tk pack(). je otrava to pořád vyměřovat aby udělátka byli vedle sebe.
> A poslední dotaz, jak lze změnit velikost okna??</FONT></DIV>
> <DIV><FONT face=Arial size=2>Děkuji</FONT></DIV></BODY></HTML>
> 
> ------=_NextPart_000_0005_01C72B6D.C2AFF6D0--



Další informace o konferenci Python