Articles of qt

命令在terminal中工作,但不通过QProcess

ifconfig | grep 'inet' 通过terminal执行时正在工作。 但不通过QProcess 我的示例代码是 QProcess p1; p1.start("ifconfig | grep 'inet'"); p1.waitForFinished(); QString output(p1.readAllStandardOutput()); textEdit->setText(output); 没有什么是显示在textedit。 但是当我在qprocess的开始只使用ifconfig时,输出显示在textedit上。 我有没有想过构build命令ifconfig | grep 'inet'任何技巧? ifconfig | grep 'inet' ,就像用' \| '和\| 为| ? 为特殊字符? 但我也试过,以及:(

在Windows上部署Qt 5应用程序

我已经在QML中编写了几个应用程序(Qt 5的一部分)。 在我之前提出的问题中( https://softwareengineering.stackexchange.com/questions/213698/deploying-qt-based-app-on-mac-os-x ),我find了部署我的应用程序的解决schemeOS X(使用macdeployqt工具)。 在Windows上部署Qt4应用程序非常简单: 你编译它在发布模式。 您复制了必要的库(DLL)。 你testing过,它的工作。 不幸的是,这种方法在Qt5中无法正常工作(我甚至在qwindows.dll文件中包含了平台文件夹,但它不起作用)。 经过几天的尝试,我放弃了编译Qt5的静态版本。 再次,它没有工作。 该应用程序在安装了Qt的PC上运行,但是在“干净的”PC上崩溃。 作为一个侧面说明,Windows 8 / 8.1系统不会给出关于应用程序崩溃的警告或消息。 但是在Windows 7中,有消息告诉我应用程序崩溃了。 我试过运行Dependency Walker(depend.exe),我的应用程序的静态构build中的所有库看起来都很好。 在Windows 8中,我没有得到任何错误。 但是在使用depends.exe分析应用程序之后,我得到了源自QtGui.dll的访问冲突。 确切的错误是 地址0x61C2C000处的“QT5GUI.DLL”中发生第二次机会exception0xC0000005(访问冲突)。 有什么,我失踪(说一个额外的DLL或configuration文件)? 应用信息: 用Qt 5.2.1编写和编译 使用Quick / QML。 使用networking模块。 使用webkit模块。 使用蓝牙模块。 QML文件是用Quick 2.2编写的

make不被识别为内部或外部命令 – Qt SDK – Windows

我通过Qt-SDK 2010.01安装了Qt 。 如何在Qt的terminal上运行make ? 我已经设置了系统path: Qtpath命令提示符: 请帮忙。 🙁 🙁

与MinGw或视觉工作室的Windows Qt?

我正在编译qt,并且面临着使用MinGw还是Visual Studio编译器的两个select? 它们之间有什么区别,使用其中一个有什么优点/缺点?

相对文件path的差异:Qt Creator的debugging模式和释放模式

QFile file("test.txt"); if (file.open(QIODevice::ReadOnly)) { qDebug()<<"You got me."; } 我在用: Qt 4.8.6与MSVC 2010 Qt Creator 3.1.1 Windows 7(32位) 从上面的代码, 如果.pro文件没有被改变 ,相应的build目录 对于debugging模式 : D:\…\build-Main-MSVC2010-Debug 并且debugging模式的.exe将位于 D:\…\build-Main-MSVC2010-Debug\debug 对于发布模式 : D:\…\build-Main-MSVC2010-Release 并且释放模式的.exe将位于 D:\…\build-Main-MSVC2010-Release\release [题] 如果我想让发布程序读取“test.txt”文件,我把文件放在文件夹中 D:\…\build-Main-MSVC2010-Release\release 这是有道理的。 但是,如果我想让debugging程序读取“test.txt”文件,我必须把文件放在文件夹中 D:\…\build-Main-MSVC2010-Debug\ 而不是 D:\…\build-Main-MSVC2010-Debug\debug 我想知道为什么相对的文件path在debugging和发布模式下工作不同,它一直困扰我很长一段时间。 [编辑] 感谢@Paul和@lpapp。 以下是工作目录的截图: debugging: 发布: [非常重要的编辑] 对于@Paul和@lpapp: 我以前需要将.dll复制到release文件夹才能testing运行时间,而我只是发现如果我通过Qt Creator执行发布程序 ,那么工作目录就像你所说的那样工作。 但是,如果我直接点击发布文件夹中的.exe,情况将如我在问题中所说的那样。 我认为从Qt Creator运行程序和直接执行程序可能会有所不同。

qDebug()在Windows上不支持unicodestring

我有一个包含Unicode字符的文件名的行编辑,它在GUI中正确显示,但是当我用qDebug()打印时,它将Unicode符号显示为问号。 例如,对于"C:/Test/абв"此代码将只显示"C:/Test/???" 。 这一行: qDebug() << ui->lineEditFileName->text(); 会显示: 这个问题只发生在Windows(XP和7),在Linux上它工作正常。 Qt的版本是4.8.0。

如何在QT中从mainwindow显示另一个窗口

平台:QT,Windows XP 我是Qt新手。 我想从mainwindow显示另一个窗口(做什么来打开它作为对话框)。 我做了“ add New Item ->Qt Designer Form Class ”,名为MyWindow 。 但是如何从mainwindow显示这个MyWindow ?

如何为非Qt应用程序创build一个Qt共享库

我开发了一个具有Qt共享库和Qt应用程序的应用程序。 Qt共享库会导出一个只有less量信号的类。 我已经使用了Q_DECL_EXPORT / Q_DECL_IMPORTmacros。 现在,dll和应用程序之间的通信是通过Qt信号和插槽来实现的,需要使用QObject来开发应用程序。 现在我被要求将Qt共享库作为理想的DLL,其中客户端应用程序不依赖于Qt框架。 我看到以下文章,但在非Qt应用程序中使用基于Qt的DLL,但不知道这是否是最好的方法。 可能有人请赐教,我可能select开发Qt共享库以用于非Qt应用程序。

C ++如何使两个程序进行通信?

问题: 使两个程序(都在同一台计算机上运行)进行通信和交互的最佳方式是什么? (Windows,C ++) 理论情况: 在Windows PC上,我有一个第三方软件 ,你用来做东西(如打开/编辑/保存文件…这不是很重要)。 这第三方软件有一个可用的C ++ SDK,所以你可以开发它的插件。 我开发了一个独立的 Windows C ++程序(最有可能使用Qt)与GUI。 该程序与第三方软件在同一台Windows电脑上运行。 这个程序将作为一个遥控器或发件人。 使用第三方软件的SDK,我为第三方软件开发了一个小插件 。 这个程序作为一个接收器,所以我的Qt GUI可以发送这个插件将收到的命令,从而相应地远程控制第三方软件 。 所以对于一个基本的例子,我可以按下我的独立GUI上的一个button,该button将与插件通信,然后在第三方软件中打开指定的文件。 我最基本的要求就是开发一个独立的软件,可以与我为第三方软件开发的插件进行交stream。 什么是最好的办法呢? 我真的不知道从哪里开始,或者看什么。 有没有常见的C ++库,使这种types的事情容易? 我对C ++比较陌生,对Qt也很新,所以请尽量详细说明。 请不要只说“使用共享内存”或类似的东西,因为我不会确切地知道你在说什么。 该程序不会在一台单独的计算机上运行,​​所以在这里我不认为networking的东西是必要的。 我正在考虑的一些问题: 如果用户同时打开多个第三方软件副本,该怎么办? 我的独立软件如何知道哪一个与之通信? 如果我已经有我的独立软件运行并打开第三方软件,插件是否需要注册或find我的独立软件进行通信? 如果我已经有第三方软件运行,然后打开我的独立软件,它必须扫描插件,看看它的运行或如何find它? 任何帮助将不胜感激。 我已经做了关于这个话题的search,但没有看到许多C ++的具体问题,其中大多数没有太多的答案,或不是很清楚,或没有专门提到与插件的软件通信第三方程序。

在Windows上混合使用Qt和Objective-C

我通常在OSX和iOS上开发应用程序。 我发现Objective-C对许多任务来说是非常有用的,而且在很多情况下可以加快工作速度。 我想在Windows系统上移植我的应用程序。 我意识到(如果你有任何其他解决scheme,请让我知道!)Qt可能是一个非常有用的工具! 用Qt创buildGUI简单而快速。 问题是Qt与C ++一起工作,而OSX与Objective-C协同工作。 我读过Qt可以处理Objective-C的源代码,实际上你可以findOBJECTIVE_SOURCES和OBJECTIVE_HEADERS makefilevariables。 我search了如何configurationQt Creator来接受.mm文件,但我无法使其工作。 .pro文件里面有如下内容: … OBJECTIVE_SOURCES += \ test.mm INCLUDEPATH += "C:\GNUStep\…\Headers" LIBS += -L"C:\GNUStep\…\Libraries" -lobjc -lgnustep-base QMAKE_CXXFLAGS += -fconstant-string-class=NSConstantString -std=c99 … 我非常简单的项目是一个小部件( .h和.cpp ), main.cpp和test.h以及test.mm 为了混合C ++和Objective-C,我想到了一个“桥梁”(就像我在Cocoa中混合Objective-C和C ++时那样),所以我创build了test.h作为一个简单的头文件(没有Objective-C,只有一个桥): // test.h void testFunction( void ); 比: // test.mm #import <Foundation/Foundation.h> void testFunction( void ) { NSString* string; […]