2014-01-18 33 views
1

1)我已经安装了gtk2与端口(端口安装gtk2)
2)我编译我的代码(使用wx)成功。wxWidgets不显示窗口下的Macbook Air(操作系统)

当我执行我的二进制文件时,它不像我预期的那样工作。没有窗口显示在那里。

下面是我简单的演示代码:

#include <wx/wx.h> 

enum 
{ 
    ID_FRAME, 
    ID_BTN, 
}; 

class HelloWorldApp : public wxApp 
{ 
public: 
    virtual bool OnInit(); 
private: 
    wxButton* button; 
}; 

IMPLEMENT_APP(HelloWorldApp) 

bool HelloWorldApp::OnInit() 
{ 
    wxFrame *frame = new wxFrame((wxFrame*) NULL, ID_FRAME, _T("Hello wxWidgets World")); 
    frame->CreateStatusBar(); 
    frame->SetStatusText(_T("Hello World")); 
    button = new wxButton((wxFrame *)frame, ID_BTN, _T("123")); 
    frame->Show(TRUE); 
    SetTopWindow(frame); 
    return true; 
} 

回答

1

首先,你真的不应该使用wxGTK下OS X,除非你真的知道自己在做什么,很正常的事情做的是使用wxOSX。

其次,在OS X应用程序下必须编译为捆绑包,例如查看任何wxWidgets示例。

+0

感谢您的回答。我只想学习wxWidgets,而且我很懒,不想在我的笔记本电脑下添加虚拟机。我会尝试使用虚拟机:) – oyjh

+0

这里有一些混淆。您绝对不需要虚拟机来使用wxWidgets,本地端口适用于所有主要平台。然而,你的问题似乎表明你在OS X下尝试使用wxGTK(Unix/Linux版本),这不是最简单的事情。如果您使用Linux,请使用wxGTK。如果您使用OS X,请使用wxOSX/Cocoa。 –

相关问题