python类FlexGridSizer()的实例源码

AutoGenUI.py 文件源码 项目:GRIPy 作者: giruenf 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def _layout_widgets(self, inputdesc):
        nwidgets = len(self.widgets)

        fgridsizer = wx.FlexGridSizer(nwidgets, 2, 5, 5)

        for i, idesc in enumerate(inputdesc):
            dispname = idesc['dispname'] + ":"
            name = idesc['name']
            widget = self.widgets[name]

            label = wx.StaticText(self, label=dispname)

            fgridsizer.Add(label, proportion=0.0, flag=wx.ALIGN_RIGHT)

            fgridsizer.Add(widget.get_uiobj(), proportion=1.0, flag=wx.EXPAND)

            if idesc['type'] == 'ommulti':
                fgridsizer.AddGrowableRow(i)

            # if idesc['type'] == 'ommulti':
                # fgridsizer.Add(widget.get_uiobj(), proportion=1.0, flag=wx.EXPAND)
            # else:
                # fgridsizer.Add(widget.get_uiobj(), proportion=0.0, flag=wx.EXPAND)

        fgridsizer.AddGrowableCol(1)

        self.SetSizerAndFit(fgridsizer)
TerminalFrame.py 文件源码 项目:PAWS 作者: Moonbase59 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def _init_sizers(self):
        # generated method, don't edit
        self.flexGridSizer1 = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=0)
        self.flexGridSizer1.SetMinSize(wx.Size(200, 121))
        self.flexGridSizer1.SetNonFlexibleGrowMode(wx.FLEX_GROWMODE_SPECIFIED)

        self._init_coll_flexGridSizer1_Growables(self.flexGridSizer1)
        self._init_coll_flexGridSizer1_Items(self.flexGridSizer1)

        self.SetSizer(self.flexGridSizer1)
pySIMsms.py 文件源码 项目:SIMreader 作者: stoic1979 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __init__(self, parent, sms):
        wxskinDialog.__init__(self, parent, -1, "SMS edit")
        self.SetAutoLayout(False)
        self.sms = sms

        # Main window resizer object
        sizer = wx.BoxSizer(wx.VERTICAL)
        sizer = wx.FlexGridSizer(4,1)

        self.smsLabel = wx.StaticText(self, -1, "Message Text (%d / 160)" % len(sms.message))
        sizer.Add(self.smsLabel, 1, wx.ALIGN_CENTER | wx.ALL, 5)
        smsTextId = wx.NewId()
        self.smsText = wx.TextCtrl(self, smsTextId, sms.message, size=(300,100), style=wx.TE_MULTILINE | wx.TE_LINEWRAP, validator = pySIMvalidator(None, None, 160))
        sizer.Add(self.smsText, 1, wx.ALIGN_CENTER | wx.ALL, 5)

        hsizer = wx.FlexGridSizer(2,3)
        label = wx.StaticText(self, -1, "Date: ")
        hsizer.Add(label, 1, wx.ALL, 5)
        label = wx.StaticText(self, -1, "From: ")
        hsizer.Add(label, 1, wx.ALL, 5)
        label = wx.StaticText(self, -1, "Status: ")
        hsizer.Add(label, 1, wx.ALL, 5)

        text = wx.TextCtrl(self, -1, self.sms.timestamp, style=wx.TE_READONLY)
        hsizer.Add(text, 1, wx.ALL, 5)
        self.numberCtrl = wx.TextCtrl(self, -1, self.sms.number, validator = pySIMvalidator("+*#pw0123456789", None, 20))
        hsizer.Add(self.numberCtrl, 1, wx.ALL, 5)

        choiceList = ['Read', 'Unread', 'Deleted']
        self.ch = wx.Choice(self, -1, (80, 50), choices = choiceList)
        for i in range(len(choiceList)):
            if sms.status == choiceList[i]:
                self.ch.SetSelection(i)
                break

        hsizer.Add(self.ch, 1, wx.ALL, 5)
        sizer.Add(hsizer, 1, wx.ALL, 5)

        buttons = wx.BoxSizer(wx.HORIZONTAL)
        buttons.Add(wx.Button(self, ID_BUTTON_OK, "Save"), 1, wx.ALIGN_LEFT | wx.ALL, 20)
        buttons.Add(wx.Button(self, wx.ID_CANCEL, "Cancel"), 1, wx.ALIGN_RIGHT | wx.ALL, 20)
        sizer.Add(buttons, 1, wx.ALIGN_CENTER | wx.ALL, 5)

        wx.EVT_BUTTON(self, ID_BUTTON_OK, self.onOK)
        wx.EVT_TEXT(self.smsText, smsTextId, self.smsTextChange)

        self.SetAutoLayout(1);
        self.SetSizer(sizer)
        sizer.Fit(self)
        self.Layout()
ArrayTypeDialog.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 18 收藏 0 点赞 0 评论 0
def __init__(self, parent, datatypes, infos):
        wx.Dialog.__init__(self, parent, title=_('Edit array type properties'))

        main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=3, vgap=10)
        main_sizer.AddGrowableCol(0)
        main_sizer.AddGrowableRow(1)

        top_sizer = wx.BoxSizer(wx.HORIZONTAL)
        main_sizer.AddSizer(top_sizer, border=20,
                            flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)

        basetype_label = wx.StaticText(self, label=_('Base Type:'))
        top_sizer.AddWindow(basetype_label, 1, flag=wx.ALIGN_BOTTOM)

        self.BaseType = wx.ComboBox(self, style=wx.CB_READONLY)
        top_sizer.AddWindow(self.BaseType, 1, flag=wx.GROW)

        self.Dimensions = CustomEditableListBox(self, label=_("Dimensions:"),
                                                style=(wx.gizmos.EL_ALLOW_NEW |
                                                       wx.gizmos.EL_ALLOW_EDIT |
                                                       wx.gizmos.EL_ALLOW_DELETE))
        for func in ["_OnLabelEndEdit",
                     "_OnAddButton",
                     "_OnDelButton",
                     "_OnUpButton",
                     "_OnDownButton"]:
            setattr(self.Dimensions, func, self.OnDimensionsChanged)
        main_sizer.AddSizer(self.Dimensions, border=20,
                            flag=wx.GROW | wx.LEFT | wx.RIGHT)

        button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE)
        self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton())
        main_sizer.AddSizer(button_sizer, border=20,
                            flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)

        self.SetSizer(main_sizer)

        for datatype in datatypes:
            self.BaseType.Append(datatype)

        if isinstance(infos, TupleType) and infos[0] == "array":
            self.BaseType.SetStringSelection(infos[1])
            self.Dimensions.SetStrings(map(lambda x: "..".join(x), infos[2]))
        elif infos in datatypes:
            self.BaseType.SetStringSelection(infos)

        self.BaseType.SetFocus()
        self.Fit()
PouDialog.py 文件源码 项目:beremiz 作者: nucleron 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def __init__(self, parent, pou_type=None, type_readonly=False):
        wx.Dialog.__init__(self, id=-1, parent=parent,
                           name='PouDialog', title=_('Create a new POU'),
                           style=wx.DEFAULT_DIALOG_STYLE)

        main_sizer = wx.FlexGridSizer(cols=1, hgap=0, rows=2, vgap=10)
        main_sizer.AddGrowableCol(0)
        main_sizer.AddGrowableRow(0)

        infos_sizer = wx.FlexGridSizer(cols=2, hgap=5, rows=3, vgap=15)
        infos_sizer.AddGrowableCol(1)
        main_sizer.AddSizer(infos_sizer, border=20,
                            flag=wx.GROW | wx.TOP | wx.LEFT | wx.RIGHT)

        pouname_label = wx.StaticText(self, label=_('POU Name:'))
        infos_sizer.AddWindow(pouname_label, border=4,
                              flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP)

        self.PouName = wx.TextCtrl(self)
        infos_sizer.AddWindow(self.PouName, flag=wx.GROW)

        poutype_label = wx.StaticText(self, label=_('POU Type:'))
        infos_sizer.AddWindow(poutype_label, border=4,
                              flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP)

        self.PouType = wx.ComboBox(self, style=wx.CB_READONLY)
        self.Bind(wx.EVT_COMBOBOX, self.OnTypeChanged, self.PouType)
        infos_sizer.AddWindow(self.PouType, flag=wx.GROW)

        language_label = wx.StaticText(self, label=_('Language:'))
        infos_sizer.AddWindow(language_label, border=4,
                              flag=wx.ALIGN_CENTER_VERTICAL | wx.TOP)

        self.Language = wx.ComboBox(self, style=wx.CB_READONLY)
        infos_sizer.AddWindow(self.Language, flag=wx.GROW)

        button_sizer = self.CreateButtonSizer(wx.OK | wx.CANCEL | wx.CENTRE)
        self.Bind(wx.EVT_BUTTON, self.OnOK, button_sizer.GetAffirmativeButton())
        main_sizer.AddSizer(button_sizer, border=20,
                            flag=wx.ALIGN_RIGHT | wx.BOTTOM | wx.LEFT | wx.RIGHT)

        self.SetSizer(main_sizer)

        for option in GetPouTypes():
            if not type_readonly or _(option) == _(pou_type):
                self.PouType.Append(_(option))
        if pou_type is not None:
            self.PouType.SetStringSelection(_(pou_type))
        self.RefreshLanguage()
        self.Fit()
        self.PouNames = []
        self.PouElementNames = []
wxSerialConfigDialog.py 文件源码 项目:Jackal_Velodyne_Duke 作者: MengGuo 项目源码 文件源码 阅读 15 收藏 0 点赞 0 评论 0
def __do_layout(self):
        # begin wxGlade: SerialConfigDialog.__do_layout
        sizer_2 = wx.BoxSizer(wx.VERTICAL)
        sizer_3 = wx.BoxSizer(wx.HORIZONTAL)
        self.sizer_flow_staticbox.Lower()
        sizer_flow = wx.StaticBoxSizer(self.sizer_flow_staticbox, wx.HORIZONTAL)
        self.sizer_timeout_staticbox.Lower()
        sizer_timeout = wx.StaticBoxSizer(self.sizer_timeout_staticbox, wx.HORIZONTAL)
        self.sizer_format_staticbox.Lower()
        sizer_format = wx.StaticBoxSizer(self.sizer_format_staticbox, wx.VERTICAL)
        grid_sizer_1 = wx.FlexGridSizer(3, 2, 0, 0)
        self.sizer_1_staticbox.Lower()
        sizer_1 = wx.StaticBoxSizer(self.sizer_1_staticbox, wx.VERTICAL)
        sizer_basics = wx.FlexGridSizer(3, 2, 0, 0)
        sizer_basics.Add(self.label_2, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        sizer_basics.Add(self.choice_port, 0, wx.EXPAND, 0)
        sizer_basics.Add(self.label_1, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        sizer_basics.Add(self.combo_box_baudrate, 0, wx.EXPAND, 0)
        sizer_basics.AddGrowableCol(1)
        sizer_1.Add(sizer_basics, 0, wx.EXPAND, 0)
        sizer_2.Add(sizer_1, 0, wx.EXPAND, 0)
        grid_sizer_1.Add(self.label_3, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        grid_sizer_1.Add(self.choice_databits, 1, wx.EXPAND | wx.ALIGN_RIGHT, 0)
        grid_sizer_1.Add(self.label_4, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        grid_sizer_1.Add(self.choice_stopbits, 1, wx.EXPAND | wx.ALIGN_RIGHT, 0)
        grid_sizer_1.Add(self.label_5, 1, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        grid_sizer_1.Add(self.choice_parity, 1, wx.EXPAND | wx.ALIGN_RIGHT, 0)
        sizer_format.Add(grid_sizer_1, 1, wx.EXPAND, 0)
        self.panel_format.SetSizer(sizer_format)
        sizer_2.Add(self.panel_format, 0, wx.EXPAND, 0)
        sizer_timeout.Add(self.checkbox_timeout, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        sizer_timeout.Add(self.text_ctrl_timeout, 0, 0, 0)
        sizer_timeout.Add(self.label_6, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        self.panel_timeout.SetSizer(sizer_timeout)
        sizer_2.Add(self.panel_timeout, 0, wx.EXPAND, 0)
        sizer_flow.Add(self.checkbox_rtscts, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        sizer_flow.Add(self.checkbox_xonxoff, 0, wx.ALL | wx.ALIGN_CENTER_VERTICAL, 4)
        sizer_flow.Add((10, 10), 1, wx.EXPAND, 0)
        self.panel_flow.SetSizer(sizer_flow)
        sizer_2.Add(self.panel_flow, 0, wx.EXPAND, 0)
        sizer_3.Add(self.button_ok, 0, 0, 0)
        sizer_3.Add(self.button_cancel, 0, 0, 0)
        sizer_2.Add(sizer_3, 0, wx.ALL | wx.ALIGN_RIGHT, 4)
        self.SetSizer(sizer_2)
        sizer_2.Fit(self)
        self.Layout()
        # end wxGlade
entry_form.py 文件源码 项目:IntroPython2016a 作者: UWPCE-PythonCert 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, a_entry, *args, **kwargs):
        """
        create a new AddBookForm

        :param a_entry: a dict for the address book entry
        """
        wx.Panel.__init__(self, *args, **kwargs)

        self._entry = a_entry

        ## create text boxes to edit: first name, last name, phone, email.
        self.fname_text = wx.TextCtrl(self)
        self.lname_text = wx.TextCtrl(self)
        ## still need phone and email here...

        ## use a FlexGridSizer:
        S = wx.FlexGridSizer(rows=0, cols=2, vgap=8, hgap=8)
        S.AddGrowableCol(idx=1, proportion=1)

        S.Add(wx.StaticText(self, label="First Name:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.fname_text, flag=wx.EXPAND)

        S.Add(wx.StaticText(self, label="Last Name:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.lname_text, flag=wx.EXPAND)

        # Save and Cancel buttons
        sav_but = wx.Button(self, label="Save Record")
        sav_but.Bind(wx.EVT_BUTTON, self.onSave)
        can_but = wx.Button(self, label="Reset Record")
        can_but.Bind(wx.EVT_BUTTON, self.onCancel)

        # a sizer for the buttons:
        but_sizer = wx.BoxSizer(wx.HORIZONTAL)
        but_sizer.Add((1,1), 1) #stretchable spave to shift buttons right
        but_sizer.Add(can_but, 0, wx.ALL, 4)
        but_sizer.Add(sav_but, 0, wx.ALL, 4)

        #Put the whole thing in another sizer to
        # layout the buttons...
        Outer_Sizer = wx.BoxSizer(wx.VERTICAL)
        Outer_Sizer.Add(S, 0, wx.ALL|wx.EXPAND, 10)
        Outer_Sizer.Add(but_sizer, 0, wx.EXPAND|wx.RIGHT, 10)
        self.SetSizerAndFit(Outer_Sizer)

        self.load_data()
entry_form.py 文件源码 项目:IntroPython2016a 作者: UWPCE-PythonCert 项目源码 文件源码 阅读 16 收藏 0 点赞 0 评论 0
def __init__(self, a_entry, *args, **kwargs):
        """
        create a new AddBookForm

        :param a_entry: a dict for the address book entry
        """
        wx.Panel.__init__(self, *args, **kwargs)

        self._entry = a_entry

        ## create text boxes to edit: first name, last name, phone, email.
        self.fname_text = wx.TextCtrl(self)
        self.lname_text = wx.TextCtrl(self)
        self.phone_text = wx.TextCtrl(self)
        self.email_text = wx.TextCtrl(self)

        ## use a FlexGridSizer:
        S = wx.FlexGridSizer(rows=0, cols=2, vgap=8, hgap=8)
        S.AddGrowableCol(idx=1, proportion=1)

        S.Add(wx.StaticText(self, label="First Name:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.fname_text, flag=wx.EXPAND)

        S.Add(wx.StaticText(self, label="Last Name:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.lname_text, flag=wx.EXPAND)

        S.Add(wx.StaticText(self, label="Phone Number:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.phone_text, flag=wx.EXPAND)

        S.Add(wx.StaticText(self, label="Email Address:"), 0,
              wx.ALIGN_RIGHT|wx.ALIGN_CENTER_VERTICAL)
        S.Add(self.email_text, flag=wx.EXPAND)

        # Save and Cancel buttons
        sav_but = wx.Button(self, label="Save Record")
        sav_but.Bind(wx.EVT_BUTTON, self.onSave)
        can_but = wx.Button(self, label="Reset Record")
        can_but.Bind(wx.EVT_BUTTON, self.onCancel)

        # a sizer for the buttons:
        but_sizer = wx.BoxSizer(wx.HORIZONTAL)
        but_sizer.Add((1,1), 1) #stretchable spave to shift buttons right
        but_sizer.Add(can_but, 0, wx.ALL, 4)
        but_sizer.Add(sav_but, 0, wx.ALL, 4)

        #Put the whole thing in another sizer to
        # layout the buttons...
        Outer_Sizer = wx.BoxSizer(wx.VERTICAL)
        Outer_Sizer.Add(S, 0, wx.ALL|wx.EXPAND, 10)
        Outer_Sizer.Add(but_sizer, 0, wx.EXPAND|wx.RIGHT, 10)
        self.SetSizerAndFit(Outer_Sizer)

        self.load_data()


问题


面经


文章

微信
公众号

扫码关注公众号