我刚买了一台带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位上运行.
有人可以帮忙吗?先感谢您.
我正在尝试创建一个“父”类,它为所有继承的类提供通用的构造函数和参数类型。继承的变量之间唯一发生变化的是一些静态变量的值。
实现这一目标的最佳方法是什么?这是我目前的尝试:
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)