草庐IT

Qt-Advanced-Docking-System

全部标签

c++ - 如何使用另一个 DLL 为 Qt 制作第三方插件?

免责声明:在Linux上一切正常。在Windows上,我最近从MinGW更改为MSVC2012,因为我无法正确读取MP3(请参阅MaketheWMFplugincompilewithMinGW.)在我的项目中,我有:核心(DLL)另一个使用Core构建的DLL媒体播放器(Qt应用程序,同时使用DLL和加载插件)为了让我的项目跨平台,我还将Windows特定功能(progressbar,thumbnailbuttons)提取到第3方插件中。事实上,我开始编写一个插件管理器,它在运行时加载/卸载插件并且无需重新启动应用程序,它工作正常。但是自从我切换到MSVC之后,我就不能再构建我的插件了

Windows-自动启动 : Application directory seems to be C:/Windows/system32/

当我的应用程序从Windows的自动启动启动时,Qt无法打开它。导致这个的错误是QDir().absoluteFilePath("settings.cnf")返回路径C:/Windows/system32/settings.cnf,即使我的文件位于我的工作目录中。有人知道我必须调用什么方法才能获得正确的路径吗? 最佳答案 使用默认构造函数QDir()默认为当前工作目录,可以是任何内容,具体取决于用户或系统从何处启动应用程序。对于UI应用程序,这是一条通常应该完全忽略的路径。要访问应用程序二进制文件旁边的数据,请使用QCoreAppl

windows - 驱动程序测试在解决方案 : The system can not find the file specified 中部署驱动程序时发生错误

我正在尝试在VisualStudio2013中创建一个非常简单的WDM驱动程序。我已经使用串行端口在wmware机器上成功配置了运行win7sp1x86的虚拟pc。现在我想调试驱动程序,我得到错误:DriverTestinganerroroccurreddeployingthedriver(s)inthesolution:Thesystemcannotfindthefilespecified.这是什么原因,我该如何解决这个问题? 最佳答案 您需要选择MyDriver1Package作为启动项目。

windows - Jenkins PowerShell 插件无法执行脚本 - "ERROR: The target system must be running a 32 bit OS"

我正在尝试使用JenkinsPowerShell插件运行PowerShell脚本,但该脚本产生以下错误:“错误:目标系统必须运行32位操作系统”从服务器在Windows2008R2服务器上运行,脚本在本地和远程从我的Windows7/x64桌面运行良好,但它不会通过插件运行。我还尝试使用Windows批处理命令插件运行它,但这也不起作用-同样的错误消息。我缩小了问题范围并找到了产生错误的行:$results=openfiles/query/focsv|Select-String$versionPath看起来问题是由OPENFILES命令引起的,我认为这是因为Jenkins启动了x86版

c++ - Qt widget 背景从 Linux 到 Windows 不同

我要实现一个跨平台的Qt程序。我有一个我不明白的问题:当程序在Windows上执行时,某些小部件的背景颜色不正确。首先,我用C++编写的程序得到了完全相同的结果,所以我认为这不是Python特有的问题。我将我的代码简化为一个显示“错误”的简单程序。我不确定是哪个小部件导致的,所以我简单地包含了实际程序中使用的所有元素。这是它在Linux上的样子:这是背景错误的Windows渲染:代码如下:importsysfromPyQt4.QtGuiimportQApplication,QMainWindow,QVBoxLayout,QTabWidget,QWidget,\QGroupBox,QVB

c++ - Qt 中基于范围的循环出错

获取这些错误:C2143:syntaxerror:missing','before':'C2143:syntaxerror:missing';'before'{'代码如下:voidMainWindow::PrintDir(constQString&str){QDirmDir(str);QStringbuffer;for(QFileInfotemp:mDir.entryInfoList())//firsterror{//seconderrorbuffer+=temp.absoluteFilePath()+"\n";}ui->textEdit->setText(buffer);}我猜原因是

windows - 如何识别 Qt 应用程序/小部件何时被拖过监视器

我基于Qt的应用程序有一个QMainWindow和另一个模态小部件。此模态小部件没有恢复选项。当有多个显示器可用时,允许用户在显示器之间拖动此小部件。但是,当我的小部件很大并且用户将其拖到扩展显示器(通常是分辨率非常低的投影仪)时,小部件对于屏幕而言太大并被剪切。我希望能够检测到用户何时移动到不同的屏幕,以便我可以调整小部件(及其中的内容)的大小以适应新屏幕的尺寸和分辨率。Qt是否为此发出任何信号? 最佳答案 这可能是您正在寻找的函数调用:http://qt-project.org/doc/qt-5/qdesktopwidget.h

windows - 在 Windows 8 上的 Creator 中编译将在 Windows 7 上运行的 Qt 5 应用程序?

我安装了Windows8.1、Qt5.4MSVC2013OpenGL和MSVC2013。我想编译我的应用程序,以便它可以在Windows7中运行。我有几天无法访问Windows7机器,所以我想找到一个方法来增加它运行的机会“只是工作”。我熟悉如何分发Qt应用程序(将DLL复制到应用程序文件夹中),但这始终是Windows7->Windows7部署。是否有编译器目标标志或我必须设置的东西?我需要使用MSVC2012吗?我在我的Windows8.1机器上安装了Windows7.1SDK。谢谢 最佳答案 如果您提供正确的dll并且两者都是

C++/Windows - : system ("dir\\b *.dat > tmp.txt") 的含义

我正在做一项作业,其中我有一些.dat文件,我将在其中阅读这些文件,这些文件对应于一个看起来很严格的图表(类似于心跳的样子,但有更多数据)。我的教授给了类(class)一个特定的代码行,用于发现当前目录中的所有.dat文件,如下所示:system("dir\\b*.dat>tmp.txt");我理解该语句中的大部分内容,但我很好奇"\\b"在那里做了什么,以及它是否有必要。有人知道"\\b"在做什么吗?感谢世界! 最佳答案 你的教授打错了:转义目录路径说明符将变为\b当system()调用解析作为参数传递的命令行时。这将列出当前磁盘

c# - mscorlib.dll 中出现类型为 'System.IO.DirectoryNotFoundException' 的未处理异常

我在运行代码时遇到此错误。本质上,它应该将数据从匹配映射的任何字符串移动到textbox1中的字符串。整个错误如下:Anunhandledexceptionoftype'System.IO.DirectoryNotFoundException'occurredinmscorlib.dllAdditionalinformation:Couldnotfindapartofthepath'C:\Users\jpearson\Documents\VisualStudio2013\Projects\WindowsFormsApplication2\WindowsFormsApplication2