小编Jal*_*orc的帖子

在Lion上运行wxPython

我刚买了一台带Lion的新电脑.我已经下载并安装了Python 2.7和wxPython 2.8(适用于2.7).我知道Python附带了系统,但我更喜欢使用官方系统.

无论如何,在IDLE上输入"import wx"后,我收到以下消息:

回溯(最近一次调用最后一次):文件"",第1行,导入wx文件"/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac -unicode/wx/init .py",第45行,来自wx._core import*文件"/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8 -mac-unicode/wx/_core.py",第4行,导入核心 ImportError:dlopen(/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8 -mac-unicode/wx/core .so,2):找不到合适的图像.找到了:/usr/local/lib/wxPython-unicode-2.8.12.1/lib/python2.7/site-packages/wx-2.8-mac-unicode/wx/ core .so:通用包装器中没有匹配的架构

我相信它发生是因为wxPython只支持32位,但我无法弄清楚如何强制python在32位上运行.

有人可以帮忙吗?先感谢您.

python wxpython osx-lion

8
推荐指数
1
解决办法
5616
查看次数

如何初始化继承类的静态变量?

我正在尝试创建一个“父”类,它为所有继承的类提供通用的构造函数和参数类型。继承的变量之间唯一发生变化的是一些静态变量的值。

实现这一目标的最佳方法是什么?这是我目前的尝试:

class Ball {
  public:
    virtual ~Ball();
    Ball ();

  protected:
    static string file;
    static int size;
    node shape;
};

class TenisBall: public Ball {};
class OtherBall: public Ball {};

Ball::Ball () {
  shape = // do something with file and size
};

Ball::~Ball () {
  delete shape;
};

string TenisBall::file = "SomeFile";
int TenisBall::size = 20;

string OtherBall::file = "OtherFile";
int OtherBall::size = 16;
Run Code Online (Sandbox Code Playgroud)

TenisBall我的问题是:我无法在and类上设置静态值OtherBall,编译器仅接受我在最后两行代码中更改TenisBalland OtherBallfor的情况。Ball我怎样才能做到这一点?这是最好的方法吗?

编辑:

根据提供的答案,我决定尝试使用虚拟函数来实现它。到目前为止,这是我的代码:

class Ball { …
Run Code Online (Sandbox Code Playgroud)

c++ inheritance initialization static-variables

4
推荐指数
2
解决办法
3538
查看次数