(C++)用于Linux的MessageBox,如在MS Windows中

kar*_*erx 7 c++ linux x11 wxwidgets messagebox

我需要为Linux(SDL)应用程序实现一个简单的图形消息框,类似于C++中的Windows MessageBox(gcc/g ++ 4.4.0).它需要做的只是显示标题,消息和确定或关闭按钮,并在单击该按钮时返回到调用功能.

SDL只使用X(11)打开(OpenGL)渲染窗口.

我查看了一个关于GTK实现的类似线程,但该实现似乎无法正常工作.

我也尝试了wxWidgets的wxMessageBox函数,但编译头文件会使编译器在include/c ++/4.4.0/bits/stl_algobase.h(openSuSE 11.1 32位上的gcc 4.4.0 32位)中抛出有关语法错误的错误消息.使用wxWidgets还意味着必须链接大量的库,将STL添加到我的应用程序(否则不需要)以及谁知道还有什么,所以我不想使用wxWidgets.

X11/motif(openmotif)有我需要的东西(XmCreate {Error | Warning | InfoDialog),但是这些需要一个我没有的父窗口小部件(例如顶层窗口),并且不接受这些的NULL参数.

所以我现在很难过.有一种简单的方法可以做我想要的吗?或者至少有一半的简单/简单/直接的?如果是,哪一个(尽可能多地提供详细信息将受到高度赞赏).

小智 6

在SDL2中,您现在可以显示消息框:

http://wiki.libsdl.org/SDL_ShowSimpleMessageBox

int SDL_ShowSimpleMessageBox(Uint32      flags,
                             const char* title,
                             const char* message,
                             SDL_Window* window)
Run Code Online (Sandbox Code Playgroud)

http://wiki.libsdl.org/SDL_ShowMessageBox

int SDL_ShowMessageBox(const SDL_MessageBoxData* messageboxdata,
                       int*                      buttonid)
Run Code Online (Sandbox Code Playgroud)