GUI Qt应用程序在docker容器中

jmc*_*jmc 5 qt docker

我尝试在装有/tmp/.X11-unix的容器中运行一些Qt应用程序.我在这里 看到的可能很难.

因此,当我在容器docker中运行kdevelop时,它不起作用(我有一个空窗口).但如果我运行qtcreator就可以了.

我认为差异来自Qt版本(kdevelop在Qt4中开发,qtcreator在Qt5中开发).我所有的其他qt5应用程序工作正常,但在qt4中没有一个.

题:

有没有人知道如何在不通过vnc或ssh的情况下启动qt4应用程序,就像这样:

docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix someQt4AppContainer
Run Code Online (Sandbox Code Playgroud)

Vla*_*ich 7

Qt5和Qt4有不同的渲染子系统

Qt4渲染器只需要一个提示:

export QT_GRAPHICSSYSTEM="native"
Run Code Online (Sandbox Code Playgroud)

这必须是工作

QT_GRAPHICSSYSTEM="native" docker run -it -e DISPLAY=$DISPLAY -v /tmp/.X11-unix:/tmp/.X11-unix someQt4AppContainer
Run Code Online (Sandbox Code Playgroud)

  • 非常感谢.它工作正常.但是您必须在容器中导出QT_GRAPHICSSYSTEM ="native".你也可以运行应用程序qt4和qt5. (2认同)