我正在使用Qt5.1而我正在尝试创建一个没有显示器的QApplication.我需要用QPainter绘制文本,所以我需要使用QApplication(或QGuiApplication),否则我会得到一个段错误.
该应用程序在Qt4.8中运行良好,但在无头版Ubuntu的Qt5.1中失败并出现错误:
"QXcbConnection:无法连接显示".
在Qt 4.8中,我能够使用以下构造函数和GUIenabled = false来创建一个不需要显示的QApplication:
QApplication :: QApplication(int&argc,char**argv,bool GUIenabled)
在Qt5.1中,QApplication的构造函数不再具有GUIenabled标志.
我简要地扫描了源代码,并且在QApplication构造函数中似乎确实有一个标志,但它没有记录在该标志中可以使用哪些选项.使用"false"不起作用.
如何在没有显示的情况下创建QApplication?是否有另一种方法来告诉QApplication GUIenabled = false?或者,我可以在QImage上使用QPainter绘制文本时创建一个不会出现段错误的QCoreApplication吗?
我编写了一个独立的Java应用程序,我将其打包到一个jar文件中,该文件接受一些命令行参数,执行一些硬核计算,然后将结果写入文件以及一些输出到指向哪里的默认输出流结果的文件是.
我现在想要围绕这项技术创建一个网站.想法是用户可以填写html表单,将其发布到网页,然后调用Java应用程序,从Java应用程序解析结果,并将其显示给用户.
目前,我使用一点点PHP从post请求中收集数据,然后只使用exec调用:
java -jar -Xmx128m myapplication.jar command-line-arguments
我每天都有几千次访问我的网站,每次执行Java应用程序的时间可能超过30秒到一分钟,所以我不想过于低效.似乎有一种更好的解决方案,而不是直接为每个请求调用Java.
我一直听到像java servlets,bean,tomcat,glassfish等的东西,但我不明白它们是什么以及它们将如何使我受益.这些对我有什么影响?结果更快,因为每次运行应用程序时都不必创建Java JVM?减少内存使用量?我显然希望它以尽可能少的内存占用尽可能快地运行.
那么,我能在这里采取的最佳方法是什么?我不想对我的应用程序进行任何认真的重写,因为有很多代码(因此将其重写为C或C++是不可能的).
谢谢.
我编写的Java swing GUI程序的一个用户遇到的问题是主旋转窗口无法正确呈现到屏幕并且GUI冻结.这是屏幕截图(顶部)和应该显示的屏幕截图(底部)的比较:
替代文字http://www.shapecollage.com/temp/SwingCorruption.jpg
他使用Java 1.6.0_13运行Windows XP SP3,他的显卡是带有双显示器设置的ATI X1600.
该程序(如果您想自己测试)位于:
www.shapecollage.com/download.html
我有几千个用户,没有其他人报告此错误,我已在Windows XP上彻底测试过它.任何计算都是在与常规GUI线程不同的线程中完成的,并且程序可以在许多其他计算机上运行,所以我认为这不是程序本身的问题,而是他的特定设置有问题.
有没有人在系统之前看到过这种类型的错误,或者对这个用户的系统可能出现什么问题有任何建议会导致这样的问题?
谢谢,
文森特