草庐IT

c++ - 从重定向的 STDOUT 读取 Unicode(C++、Win32 API、Qt)

我有一个动态加载插件DLL的C++应用程序。DLL通过std::cout和std::wcout发送文本输出。基于Qt的UI必须抓取DLL的所有文本输出并显示它。由于运行时库的差异,DLL可能具有不同的cout/wcout实例,因此使用流缓冲区替换的方法并不完全有效。因此,我应用了Windows特定的STDOUT重定向,如下所示:StreamReader::StreamReader(QObject*parent):QThread(parent){//void}voidStreamReader::cleanUp(){//restorestdoutSetStdHandle(STD_OUTPU

c++ - QT 样式注释(智能感知?)

我注意到在QTCreator的2.1中,他们现在有一种类似于VisualStudio的智能感知。我知道intellisense是Microsoft对弹出的有用工具提示概念的名称,它会为您提供方法、参数等的描述,所以我不知道这实际上叫什么。有谁知道如何将这些类型的弹出式注释添加到QT中的方法和类中?再次澄清我在说什么,就像javadoc注释或C#中的“///”。我希望QT的开发者可以让用户发表自己的评论。感谢您的帮助,杰斯 最佳答案 我也一直想做这个。我在qtCentre.org上发现了这个帖子,其中有人将他们自己的文档集成到QTCr

c++ - 集成 Qt 框架、Netbeans IDE、Visual Studio C++ 编译器

我使用Qt4.7.4作为C++框架,Netbeans7.0作为IDE,MinGW作为C++编译器。由于Netbeans的能力,它们可以很好地集成,我可以轻松地使用它们编写我的项目。我知道在QtCreator中,我们可以很容易地切换到VisualStudio作为C++编译器。但是,我们如何在与Qt框架一起工作的Netbeans中使用VisualStudio作为C++编译器?是否有任何Netbeans插件或一些配置(然后,只能运行F6)?注意:正如注释中提到的(CatPlusPlus),它与​​QMAKESPEC或-spec相关。我正在通过Project>Properties>Qt>...

c++ - 如何将 Qt 集成到现有的应用程序开发工作流程中?

我已经使用Qt玩了一个星期左右,目的是将Qt对话框集成到现有应用程序中。我想出了从我的MFC应用程序中使用基本的Qt消息框,例如:extern"C"__declspec(dllexport)boolshowDialog(HWNDparent){QWinWidgetwin(parent);win.showCentered();QMessageBox::about(&win,"AboutQtMfc","QtMfcVersion1.0\nCopyright(C)2003");returnTRUE;}我使用QtDesigner创建对话框。我还没有想出的是如何将所有这些部分组合在一起。QtDes

QT使用QFileSystemModel实现的文件资源管理器(开源)

文章目录效果图现实的功能总体框架功能介绍视图双击进入处理复制与剪切粘贴重命名,新建显示文件详细信息文件路径导航栏总结效果图现实的功能支持文件/文件夹复制,粘贴,剪切,删除,重命名的基本操作支持打开图片,文档等资源支持文件显示详细信息支持文件路径导航总体框架本案例主要使用了QFileSystemModel与QListView。上方的路径导航栏使用了QListWidget,每一个路径名为一个item。关键在于你对QFileSystemModel的使用。功能介绍视图创建QFileSystemModel模型与QListView视图,并设置相关参数,就可以显示本地的文件目录。关键在于要设置setView

c++ - 如何使用 CSS 样式表更改 Qt 的 QMenu 中选定元素的右箭头图像?

我的应用程序中有一个QtQMenu,由两层组成(子菜单的顶层,然后是包含操作的每个子菜单),我们有一个自定义的深灰色样式,其中菜单背景为灰色,文本颜色为白色,右箭头为白色。当突出显示子菜单项(鼠标悬停)时,元素背景为白色,文本为黑色,我希望右箭头也切换为黑色图像。我正在使用CSS样式表来执行此操作。但是,我似乎无法找到正确的语法来为元素选择状态设置备用右箭头图像。我的CSS看起来像这样:QMenu{background-color:rgb(24,24,24);color:white;}QMenu::item:selected{background-color:white;color:b

c++ - 程序意外结束 - QT creator

我正在尝试使用QTCreator来开发使用QT框架的GUI/控制台应用程序。我正在使用WindowsXP。我安装了QT4.8.3和mingw。两者都安装没有任何错误。然后我安装了QTcreator。QT版本:路径中的Qt4.8.2(4.8.2)Mingw(手册)编译器路径:C:\MinGW\bin\g++.exe调试器路径:C:\MinGW\bin\gdb.exemkspec:win32-g++EnvironmentVariables:QTDIR,PATH,MinGW,PATHincludes4.8.2\bin;mingw\binINCLUDE:4.8.2\include当我尝试使用q

c++ - Qt Creator - calloc 因大内存而失败

我对QtCreator或其组件之一有疑问。我有一个需要大量内存(大约4GBytes)的程序,我使用calloc来分配它。如果我使用mingw/gcc(不使用Qt框架)编译C代码,它可以工作,但是如果我在QtCreator中编译它(使用C++将C代码嵌入到Qt框架中),使用mingw/gcc工具链,calloc返回空指针。我已经搜索并找到了qt-pro选项QMAKE_LFLAGS+=-Wl,--large-address-aware,它适用于某些情况(大约3.5GBytes),但如果我超过4GBytes,它只适用于用gcc编译的C代码,不适用于Qt。在使用QtCreator进行编译时,如

c++ - Qt Release build 给出 MSVC++ Runtime Library Error

在Debug模式下构建时,我有一个完美运行的应用程序(带有大约16个DLL的exe)。然而,一旦我切换到Release,获取exe和构建的所有DLL,所有必需的DLL从QtSDKbin复制过来,我就会遇到运行时错误。我应该如何排查发生的问题?这是一个普遍的问题吗?我没有任何入口点等,甚至无法从...开始。只是一个一般的运行时错误。我发现的唯一类似问题是here,但这是来自更旧版本的Qt。4.7.4只有一个bin文件夹。编辑1-除了创建我的MainWindow对象之外,我已经注释了我的main.cpp中的所有内容,以及我的MainWindow构造函数中的所有内容,所以它应该只是打开一个空

c++ - Qt Creator 2.6.1 + Qt 5 + C++11 + MSVC2010 编译器

我正在尝试使用Qt在Windows上构建C++应用。我的设置是:已安装Vs2008、2010、2012已安装Qt5RC1现在,当我#include并尝试使用std::unique_ptr时,它告诉我它没有定义,所以我查看了VS2010header,发现需要定义_HAS_CPP0X,所以我将它作为DEFINES+添加到.pro=_HAS_CPP0X这仍然没有效果,所以我ctrl+clicking#includememory只是为了找到它使用的memoryheader来自:C:\ProgramFiles(x86)\MicrosoftVisualStudio9.0\VC\include里面真