wxpython - 使用 wxPython 的静态文本垂直对齐

标签 wxpython vertical-alignment

我正在使用 wxPython 设计一个表单。 请注意图片中的搜索面板:“搜索依据:”标签、嵌套在它上面的组合框和搜索控件——它们的文本都与顶部对齐。如何将它们全部对齐(垂直)在中间?

Text is not vertically aligned in Search Panel

这是搜索面板代码:

class TopNavigationPanel(wx.Panel):
    def __init__(self, parentPanel):
        """Constructor"""
        wx.Panel.__init__(self, parent=parentPanel, id=-1)
        self.SetBackgroundColour("red")


        self.searchByLbl = wx.StaticText(self, label="Search By: ", style=wx.ALIGN_RIGHT, size=(80, -1))

        cat = ["Author", "Title", "ISBN", "Publisher"]
        categories = wx.ComboBox(self, value="Author", choices=cat, size=(100, -1))

        self.search = wx.SearchCtrl(self, style=wx.TE_PROCESS_ENTER, size=(160, -1))
        self.search.Bind(wx.EVT_TEXT_ENTER, parentPanel.onSearch)

        navigationSizer = wx.BoxSizer(wx.HORIZONTAL)

        navigationSizer.AddSpacer(50)
        navigationSizer.Add(self.searchByLbl, 0, wx.EXPAND, 0)
        navigationSizer.Add(categories, 0, wx.EXPAND, 0)
        navigationSizer.Add(self.search, 0, wx.EXPAND, 0)
        navigationSizer.AddSpacer(500)

        self.SetSizer(navigationSizer)
        self.Fit()

最佳答案

您可以使用ALIGN_CENTER_VERTICAL
在下面的代码片段中,我将文本与水平框大小调整器中的按钮垂直对齐:

dbBox = wx.BoxSizer(wx.HORIZONTAL)
updateBtn = wx.Button(dbFrm, label = "Update")
dbBox.Add(updateBtn, 0, wx.LEFT | wx.RIGHT, 5)
self.dateLbl = wx.StaticText(dbFrm, label = "Never updated")
dbBox.Add(self.dateLbl, 1, wx.LEFT | wx.RIGHT | wx.ALIGN_CENTER_VERTICAL, 5)

关于wxpython - 使用 wxPython 的静态文本垂直对齐,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49964659/

相关文章:

html - 使用 CSS 垂直对齐

css - 在其父级内垂直居中字形

html - 将 iframe 与 <p> 对齐

python - 在 wxPython 中绘图的最佳 Canvas ?

python - 在 wxPython 中自动排列面板

python - 使用 wxPython 强制经典 Windows 主题

python - 当我们打开子框架时如何隐藏主框架

html - 无法使 <p> 文本在网格布局中与顶部对齐

html - 如何在 float 按钮元素之间垂直和水平居中文本?

python - 使用 richTextCtrl 和 wxPython 的内存泄漏