小编Jam*_*ffe的帖子

安排 wxpython 窗口从其内容中明智地继承其大小

我已经编写了我的第一个 wxpython 应用程序并且它运行良好,但是我在正确调整主窗口大小时遇到​​了困难。该面板包含 a wx.BoxSizer,而后者又包含 a wx.FlexGridSizer,而后者又包含 6 wx.TextCtrls。

我读过的教程似乎侧重于手动设置大小。我真正想做的是让TextCtrls 计算出它们应该包含来自给定字体(例如“WWW”)的 3 个字符的大小,然后应该自动确定 FlexGridSizer 的大小和主要窗户。我不需要担心调整布局的大小(所以也许 Sizer 不是必需的?),我只想自动确定大小,而不是我将魔术常量放入程序中。

import wx
from names_as_vs import name_sum, name_mult

NAME_SIZE = 35

class MyForm(wx.Frame):
    def __init__(self, parent,title):
        wx.Frame.__init__(self,parent,title=title,size=(405,200))

        self.default_init_UI()
        self.init_UI()
        self.Show()

    def default_init_UI(self):
        """Do all the standard UI stuff"""
        file_menu = wx.Menu()
        menuAbout = file_menu.Append(wx.ID_ABOUT,"About\tCtrl-A")
        menuExit = file_menu.Append(wx.ID_EXIT,"Quit\tCtrl-Q")

        menu_bar = wx.MenuBar()
        menu_bar.Append(file_menu,"File")
        self.SetMenuBar(menu_bar)

        self.Bind(wx.EVT_MENU, self.OnAbout, menuAbout)
        self.Bind(wx.EVT_MENU, self.OnExit, menuExit)

    def init_UI(self):
        """Particular UI setup for this program"""

        hbox = wx.BoxSizer(wx.HORIZONTAL) …
Run Code Online (Sandbox Code Playgroud)

wxpython

3
推荐指数
1
解决办法
2193
查看次数

标签 统计

wxpython ×1