草庐IT

c++ - 在 QT for Windows 中使用 Win32 API

我正在从.netC#迁移到QTC++,我正在尝试使用此Win32函数在QT中模拟驱动器:[DllImport("kernel32.dll",CharSet=CharSet.Auto,SetLastError=true)]privatestaticexternboolDefineDosDevice(intflags,stringdevname,stringpath);[DllImport("kernel32.dll",CharSet=CharSet.Auto,SetLastError=true)]privatestaticexternintQueryDosDevice(stringdev

c++ - 在 Windows 中将 rinside 与 qt 一起使用

我开始在C++中使用rinside和rcpp。我只想从零开始,所以我的QT项目除了创建RInside实异常(exception)什么都没有,我有一个我无法解决的问题。我在项目中只有一个对话窗体。我的项目文件:QT+=coreguiTARGET=rcpp-rinsideTEMPLATE=appSOURCES+=main.cpp\dialog.cppHEADERS+=dialog.hFORMS+=dialog.uiINCLUDEPATH+=C:\R\R-2.15.1\includeINCLUDEPATH+=C:\R\R-2.15.1\library\Rcpp\includeINCLUDEP

c++ - 使用 Qt 显示 JPG 图像不适用于发布可执行文件

我在用qt显示jpg图像时遇到了一个恼人的问题。我在Windows7中使用VisualStudio2008开发并使用Qt4.8.2版。我现在将通过Qt提供的“collidingmice”示例(../examples/graphicsview/collidingmice)来描述我的问题。我可以通过VisualStudioIDE或通过VisualStudio命令提示符构建此示例。在此示例中,一个jpg用作背景,并在我执行调试可执行文件时正确显示。但在发布版本中,此背景jpg未显示。我已经意识到,Qt使用插件来加载/显示不同的图像。因此,我将Qt插件文件夹的内容复制到应用程序目录(colli

c++ - Qt(5) : Render same video on 2 different surfaces using QtMultimedia

我正在Qt(5)中开发一个应用程序,基本上我正在尝试使用QtMultimedia5将相同的视频源渲染到我窗口中的2个位置。我在QML中执行此操作,但如果有C++中的解决方案,我会很乐意改为实现它。我可以在窗口中显示视频。当我尝试使用相同的QMediaSource但将其渲染到2个窗口/控件时,问题就开始了。我看到正在发生的事情是QMediaService::requestControl被调用,它返回一个QVideoRendererControl对象。然后调用QVideoRendererControl::setSurface来设置它渲染视频的表面。因此,据我所知,QMediaService

c++ - 无限Qt动画(不指定持续时间)

我正在使用C++和Qt开发BlockBreaker克隆,我想知道如何为球的运动创建无限(或无界)动画。我应该坚持使用动画框架(通过子类化QAbstractAnimation),还是考虑创建和管理新线程来处理动画?一些有经验的指导会很有帮助,谢谢。 最佳答案 所以最后我弄明白了:使用QPropertyAnimation::setLoopCount(-1)成员函数使动画永远运行,直到被QPropertyAnimation::stop()停止>信号... 关于c++-无限Qt动画(不指定持续时

c++ - 获取 QT 代码的纯 C++ 实现

我试图弄清楚这段代码在没有任何依赖性的情况下如何像普通C++一样,所以我使用了moc编译器,但显然我错了。moc总是返回main.cpp:0:Note:Norelevantclassesfound.Nooutputgenerated.代码是#include#include#includeclassMyButton:publicQWidget{public:MyButton(QWidget*parent=0);};MyButton::MyButton(QWidget*parent):QWidget(parent){QPushButton*quit=newQPushButton("Quit

c++ - Qt5 在 QtQuick2 中使用 QWidget

Qt5和QtQuick2的组合存在一些问题。每当您想使用许多基于QWidget的类中的一些时,您首先会遇到以下问题:您应该使用QApplication而不是Qt5的QGuiApplication。那么这很容易改变,对吧?所以现在我正在使用QApplication但每当我尝试使用基于QWidget的类时我的程序要么崩溃要么导致一些无意义的错误消息。那么我应该如何将旧的QWidgets与Qt5一起使用?我知道它们不是Qt5的最佳解决方案,但它们非常有用...附言我正在Linux中为所有平台开发我的应用程序。我还使用自动生成的QtQuick2ApplicationViewer类来呈现基于Qt

c++ - Qt的foreach表达式需要深拷贝?

我在使用Qt的foreach函数时遇到了一些问题。我有一个Phrase类,它是QList的一个子类。在~Phrase中,我删除了所有GlossItem指针。在遍历Phrase中的GlossItem指针时,我想使用Qt的foreach://phraseisapointertoaPhraseobject,//whichisasubclassedQListforeach(GlossItem*glossItem,*phrase){//useglossItem}出于某种原因,foreach正在对Phrase执行深度复制(我知道这一点,因为它需要我实现复制构造函数)。但是,如果有Phrase的拷贝

c++ - 在 Qt 应用程序中单击按钮时在外部浏览器上打开 url

我的应用程序应包含一个按钮,当您单击该按钮时,应打开一个外部浏览器这是我的代码voidLogindialog::on_inscriptionPushButton_clicked(){QDesktopServices::openUrl(QUrl("http://www.google.com",QUrl::TolerantMode));}但是当我编译时我得到了这个错误列表错误:嵌套名称说明符中使用了不完整类型“QUrl”错误:不完整类型“类QUrl”的无效使用错误:“类QUrl”的前向声明 最佳答案 您忘记包含QUrl,因为只存在前向声

为什么Cmake在QT创建者中过早结束?

我是QTCreator的新手,想将现有的CMAKE项目导入其中。我将cmakelists.txt文件作为一个项目加载,并且在运行cmake后,它像我希望的那样找到了我的文件。但是,当它构建时,它似乎在一秒钟后过早结束。这是日志:17:11:46:RunningstepsforprojectMy-GUI...17:11:46:Starting:"C:\ProgramFiles\JetBrains\CLion2017.1.3\bin\cmake\bin\cmake.exe"--build.--targetclean17:11:46:Starting:"C:\ProgramFiles\JetBrai