面板之间的元素在大小调整器中未对齐

哈尔

我有两个面板,我都将它们添加到顶层的单个大小调整器中,但是这些面板中的元素彼此不对齐。

这是一个简单的示例,以演示我正在尝试实现的目标。

import wx

class MyPanel(wx.Panel):
    def __init__(self, parent):
        super(MyPanel, self).__init__(parent=parent)
        mygridsizer = wx.GridBagSizer()    

        sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
        sizer.Add(wx.StaticText(self,label="Hello world"))
        sizer.Add(wx.Button(self, label="hello"))
        mygridsizer.Add(sizer, pos=(0,0))
        mygridsizer.Add(wx.ComboBox(self), pos=(0,1))
        self.SetSizer(mygridsizer)

class MyPanel2(wx.Panel):
    def __init__(self, parent):
        super(MyPanel2, self).__init__(parent=parent)
        sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
        sizer.Add(wx.Button(self, label="non-aligned button"))
        self.SetSizer(sizer)

class MainFrame(wx.Frame):
    def __init__(self, parent):
        super(MainFrame, self).__init__(None)
        sizer = wx.GridSizer(3, 1)
        panel1 = MyPanel(parent=self)
        panel2 = MyPanel2(parent=self)
        sizer.Add(panel1)
        sizer.Add(panel2)
        self.SetSizer(sizer)

if __name__ == '__main__':
    app = wx.App()
    frame = MainFrame(None)
    frame.Show()
    app.MainLoop()

在上面的示例中,如何对齐两个面板的按钮?

nmz787

问题是sizer正在对齐面板,如果要对齐按钮,则应使它们成为同一sizer的一部分(而不是具有自己的sizer的两个Panel的一部分)。您也可以执行以下操作来快速破解(本质上添加与文本大小相同的间隔符):

import wx

class MyPanel(wx.Panel):
    def __init__(self, parent):
        super(MyPanel, self).__init__(parent=parent)
        mygridsizer = wx.GridBagSizer()    

        sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
        sizer.Add(wx.StaticText(self,label="Hello world"))
        sizer.Add(wx.Button(self, label="hello"))
        mygridsizer.Add(sizer, pos=(0,0))
        mygridsizer.Add(wx.ComboBox(self), pos=(0,1))
        self.SetSizer(mygridsizer)

class MyPanel2(wx.Panel):
    def __init__(self, parent):
        super(MyPanel2, self).__init__(parent=parent)
        sizer = wx.BoxSizer(orient=wx.HORIZONTAL)
        t = wx.StaticText(self,label="Hello world")
        t.Hide()
        t.GetSize()
        sizer.Add(t.GetSize())
        sizer.Add(wx.Button(self, label="non-aligned button"))
        self.SetSizer(sizer)

class MainFrame(wx.Frame):
    def __init__(self, parent):
        super(MainFrame, self).__init__(None)
        sizer = wx.GridSizer(3, 1)
        panel1 = MyPanel(parent=self)
        panel2 = MyPanel2(parent=self)
        sizer.Add(panel1)
        sizer.Add(panel2)
        self.SetSizer(sizer)

if __name__ == '__main__':
    app = wx.App()
    frame = MainFrame(None)
    frame.Show()
    app.MainLoop()

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用wxPython在框内嵌套大小调整器

来自分类Dev

如何在PHP中创建图像大小调整器?

来自分类Dev

无边框框架和默认控件。大小调整器不起作用

来自分类Dev

如何使用纯JAvaScript制作div大小调整器

来自分类Dev

无边框框架和默认控件。大小调整器不起作用

来自分类Dev

如何防止垂直大小调整器在wxformbuilder中将孩子完全向下扩展

来自分类Dev

使用双三次锐化器将GD图像大小调整器转换为等效的ImageMagick

来自分类Dev

如何禁用面板大小调整/拖动?

来自分类Dev

在窗口大小调整中向元素添加类

来自分类Dev

如何使div对齐并根据浏览器大小调整大小

来自分类Dev

如何使div对齐并根据浏览器大小调整大小

来自分类Dev

可滚动(GridBagLayout)面板中的空JTable-标题在列大小调整时折叠

来自分类Dev

将html元素大小调整为最大浏览器大小

来自分类Dev

如何根据浏览器大小调整DIV元素的大小?

来自分类Dev

大小调整事件的侦听器

来自分类Dev

大小调整方向的侦听器

来自分类Dev

Bootstrap 4中的标签和文本框大小调整和对齐问题

来自分类Dev

面板子项的JavaFX GridPane大小调整

来自分类Dev

屏幕大小调整和元素位置调整

来自分类Dev

调整div中的文本大小调整img大小

来自分类Dev

使用表单大小调整GUI元素的大小

来自分类Dev

使用表单大小调整元素宿主的子内容大小

来自分类Dev

如何根据窗口大小调整元素大小

来自分类Dev

ZK:在(zk)小部件中添加浏览器窗口大小调整侦听器

来自分类Dev

相位调整器3调整大小后图像质量低

来自分类Dev

如何在JS中删除窗口大小调整侦听器

来自分类Dev

如何在Visual Basic 2013(.net)中自动调整水平对齐的面板的大小

来自分类Dev

如何在Visual Basic 2013(.net)中自动调整水平对齐的面板的大小

来自分类Dev

将SVG元素的大小调整为其内容

Related 相关文章

  1. 1

    使用wxPython在框内嵌套大小调整器

  2. 2

    如何在PHP中创建图像大小调整器?

  3. 3

    无边框框架和默认控件。大小调整器不起作用

  4. 4

    如何使用纯JAvaScript制作div大小调整器

  5. 5

    无边框框架和默认控件。大小调整器不起作用

  6. 6

    如何防止垂直大小调整器在wxformbuilder中将孩子完全向下扩展

  7. 7

    使用双三次锐化器将GD图像大小调整器转换为等效的ImageMagick

  8. 8

    如何禁用面板大小调整/拖动?

  9. 9

    在窗口大小调整中向元素添加类

  10. 10

    如何使div对齐并根据浏览器大小调整大小

  11. 11

    如何使div对齐并根据浏览器大小调整大小

  12. 12

    可滚动(GridBagLayout)面板中的空JTable-标题在列大小调整时折叠

  13. 13

    将html元素大小调整为最大浏览器大小

  14. 14

    如何根据浏览器大小调整DIV元素的大小?

  15. 15

    大小调整事件的侦听器

  16. 16

    大小调整方向的侦听器

  17. 17

    Bootstrap 4中的标签和文本框大小调整和对齐问题

  18. 18

    面板子项的JavaFX GridPane大小调整

  19. 19

    屏幕大小调整和元素位置调整

  20. 20

    调整div中的文本大小调整img大小

  21. 21

    使用表单大小调整GUI元素的大小

  22. 22

    使用表单大小调整元素宿主的子内容大小

  23. 23

    如何根据窗口大小调整元素大小

  24. 24

    ZK:在(zk)小部件中添加浏览器窗口大小调整侦听器

  25. 25

    相位调整器3调整大小后图像质量低

  26. 26

    如何在JS中删除窗口大小调整侦听器

  27. 27

    如何在Visual Basic 2013(.net)中自动调整水平对齐的面板的大小

  28. 28

    如何在Visual Basic 2013(.net)中自动调整水平对齐的面板的大小

  29. 29

    将SVG元素的大小调整为其内容

热门标签

归档