小编aca*_*tle的帖子

安排 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
查看次数

为什么这个正则表达式不适用于python

我试图从二进制文件中提取一些字符串.当我在linux中使用这个带有字符串的正则表达式时它工作正常,但它在python中不起作用.

字符串中:

strings -n 3 mke2fs | grep -E '^([0-9][0-9]*(\.[0-9]+)+)'
Run Code Online (Sandbox Code Playgroud)

结果:1.41.11

python中:

import re

f = open("mke2fs","rb").read()
for c in re.finditer('^([0-9][0-9]*(\.[0-9]+)+)',f):
 print c.group(1)
Run Code Online (Sandbox Code Playgroud)

结果是空的.我该如何解决这个问题?是因为我的Python版本(我使用的是Python 2.7)?我尝试使用正则表达式(另一种替代方案)仍然没有结果.

python regex

2
推荐指数
1
解决办法
118
查看次数

标签 统计

python ×1

regex ×1

wxpython ×1