我将项目代码从Qt4升级到Qt5.它使用CMake.除了与Qt相关的一行Cmake命令外,转换得很好.我在目前的文档中找不到像
如何从CMake(与Qt5)链接QtMain?
这是转换我的项目的唯一缺失位.有人能指点我解释这个或解释如何用Qt5做这个吗?我的Qt4代码工作正常,但我找不到Qt5的Cmake宏.
编辑>这是我目前的CMake文件:https://bitbucket.org/klaim/aos_qt5/src/593c195c4c6889f6968d68fca018ef425783a063/tools/aosdesigner/CMakeLists.txt? at =wip_qt5
所有qt5必需的CMake宏已经设置正确我相信,唯一不起作用的是连接到QtMain什么都不做,正如预期的那样,因为应该有一个Qt5特定的方式来做它我找不到的Qt5文档.
您可以浏览文件历史记录以查看它如何与Qt4一起使用.
我在Qt Creator中编译了一个简单的Qt 5项目.从Qt Creator中运行时,它可以工作.但是,当我将可执行文件转移到另一个位置时,会在cmd控制台上生成以下错误消息;
The program can't start because Qt5Cored.dll is missing from your computer.
Try reinstalling the program to fix this program.
Run Code Online (Sandbox Code Playgroud)
我试图在Qt5目录中找不到Qt5Cored.dll找不到.但奇怪的是该程序是从Qt Creator运行的.请帮忙.我使用Qt5和MinGW在Windows 7 64位上
我正在努力学习Qt 5.3,这是我的第一个程序(hello world).当我尝试构建时,它会显示以下错误:
测试表达后的额外字符.
我无法理解为什么会出现这个错误.我刚从互联网上拿了一些简单的代码来检查我是否正确安装了Qt.这是代码:
#include <QApplication>
#include <QPushButton>
int main(int argc, char **argv)
{
QApplication app (argc, argv);
QPushButton button ("Hello world !");
button.show();
return app.exec();
}
Run Code Online (Sandbox Code Playgroud)
错误显示在第3,5,6,8行.我对Qt完全不熟悉,所以请给出一个简单的解释.
我最近安装了Qt 5.5及其MaintenanceTool(MaintenanceTool.exe).默认存储库正在运行,但是一天之后,我的MaintenanceTool突然报告没有设置存储库?
我可以暂时在MaintenanceTool中输入单个存储库,但我想获取默认的存储库集.
他们为什么走了?如何重新设置默认存储库?
提前致谢
我在Qt视频概述中给出了一个月的视频示例.
我试过那段代码,但只有我得到的是空白方块(QWidget).我使用GStreamer0.10进行Qt5上的媒体播放.我也用gst-launch-0.10命令播放了视频,它运行正常,但我无法确定Qt中发生了什么以及为什么它不起作用?
我查看了位于的X Server的错误日志/etc/X11/Xorg.0.log,当我使用fbdev作为其中配置的显示驱动程序/etc/X11/xorg.conf时显示错误:
"FBDEV(0):FBIOPUTCMAP:参数无效"
当我使用modesetting驱动程序时,一切都行为相同,但没有错误.我发现,当我删除xorg.conf文件并再次启动X服务器时,视频可以正常工作,但缺少颜色和闪烁也可以在我的Ubuntu VM和vnc客户端上运行良好.我们将非常感谢您的建议和帮助.
目标机器:BeagleBone Black
发行:Debian Jessie 8.2
内核版本:4.1.15-ti-rt-r43
/ usr/lib/xorg/modules/drivers中可用驱动程序列表:ati_drv.so,mach64_drv.so,nouveau_drv.so,r128_drv.so,vesa_drv.so,fbdev_drv.so,modesetting_drv.so,omap_drv.so,radeon_drv.所以
当我尝试在Debian Jessie 8.2下的BeagleBone Black上启动我的Qt应用程序时,这是来自Xorg的完整错误日志 - > http://pastebin.com/4x8KztBk
来自/ etc/X11的xorg.conf文件 - > http://pastebin.com/4WhX8pJc
QT文档说,从qt5开始,你应该使用QOpenGL*类而不是QGL*.
问题是没有QGLWidget替换.我想出你应该将QWindow与QOpenGLContext结合使用并调用setSurfaceType(OpenGLSurface);.
唯一的问题是QWindow不能将QWidget作为父级.那我怎么能嵌入一个QWindow aka.我的OpenGL绘图表面进入其他小部件?
我正在为基于ARM的目标(TI AM335x EVM)进行Qt5.2应用程序的交叉编译,但它无法在我的平台上显示任何内容.做了一些google'ing之后,我发现如果我用以下方式启动它:
./helloworld -platform eglfs
Run Code Online (Sandbox Code Playgroud)
它会出现(全屏,但它工作)!
我开始查看所有平台选项,我发现:
android,eglfs,linuxfb,minimalegl,windows,xcb,cocoa,ios,offscreen,qnx,directfp,kms,minimal,openwfd
我想知道他们是为了什么.我假设,例如,如果我想在Android设备上运行我的应用程序,我必须通过-platform android,但它们对我来说并不是很明显.
是否应该使用每个参数的列表?
例如,什么eglfs代表什么?为什么我需要使用那些linuxfb不起作用的地方?
(我原本以为linux帧缓冲区是我想要启动我的应用程序,因为它在嵌入式linux上运行)
在本文档中(在"指定要运行的自定义可执行文件"部分下),我注意到%{buildDir}在"工作目录"字段中提到了看起来像变量的内容.
我现在已经挣扎了一段时间才找到这个功能的文档.我想知道首先是某处的文档?.
次要问题:
.pro文件中创建的变量吗?谢谢!
我正在使用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吗?
我在网上可以找到关于QtRuby的所有内容都使用Qt 4,但Qt的当前版本是5.这仅仅是文档没有赶上现实的问题,Qt 5可以在QtRuby上运行得很好吗?
如果你断言是这种情况(Qt5不受支持),那么请用证据备份你的断言.