草庐IT

QT_THROW

全部标签

c++ - 从 Qt 5.6 切换到 Qt 5.7 - 命名空间 std 中的 "no member ' make_unique'

我有一个CMakeQt项目,它使用了多个c++14功能,包括std::make_unique。通常这将通过以下方式处理:LIST(APPENDCMAKE_CXX_FLAGS-std=c++14)或ADD_COMPILE_OPTIONS(-std=c++14)我想将项目从5.6版升级到5.7版,但在测试构建期间出现多次失败并出现错误nomember'make_unique'innamespacestd我已验证所有适当的header和编译选项都已到位,并排除了任何环境问题。使用Qt5.7绝对是个问题。有什么解决方法吗? 最佳答案 原来这

c++ - 我想开始 Qt 开发 - 我必须具备哪些 C++ 和操作系统的基础知识?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题?更新问题,以便editingthispost可以用事实和引用来回答它.关闭8年前。Improvethisquestion我打算学习Qt,我只想知道我必须具备C++的哪些部分、OO设计和其他方面的背景知识?模板、RAII、模式……?

c++ - 没有参数的 C++ throw 会在另一个框架内工作以重新抛出异常吗?

如果我有如下代码:try{doSomething();}catch(...){noteError();}voidnoteError(){try{throw;}catch(std::exception&err){std::cerrnoteError()下部框架内的两个地方都会抛出原始异常吗? 最佳答案 您的原始代码很好。您捕获了不同的异常类型并调用了一个函数来记录一条消息并重新抛出。throw语句不需要直接出现在相应的catchblock中。但是,如果您调用其中一个“注释”函数并且您没有当前正在处理异常,那么您的程序将调用termin

c++ - setLastModified 日期与 Qt

我需要为某些文件设置最后修改日期。这是我申请的必备能力。我不知道如何使用QT做到这一点。我没有看到它的方法/功能。我可以使用Qt读取日期,但看不到如何设置日期。现在...我知道MS的某些(实际上我认为是全部)WindowsAPI具有此功能。问题是我不是在寻找“Windows”专用解决方案。我需要这种能力才能在Windows、Linux和Mac上工作。这就是我选择Qt的原因……提出的任何解决方案都应以API为中心(不需要系统命令/实用程序),并且该解决方案应涵盖3个主要操作系统(Win、Linux、Mac)。 最佳答案 这个的posi

c++ - Mac 中的通知窗口。有或没有 Qt

MacOSX上的Qt项目。我需要在顶部显示通知窗口而不窃取任何事件应用程序的焦点。这里是小部件构造函数部分:setWindowFlags(Qt::FramelessWindowHint|Qt::WindowSystemMenuHint|Qt::Tool|Qt::WindowStaysOnTopHint);setAttribute(Qt::WA_TranslucentBackground);Qt::WA_ShowWithoutActivating没有任何影响。有办法吗?我已准备好在那里实现原生Carbon/Cocoa解决方案,但首选Qt。或者我的Mac哲学是错误的,我应该以另一种方式通知

c++ - Visual Studio 2010 Qt 链接问题

我整个周末都在努力解决这个问题,现在我正处于最后一步。我的目标:让visualstudio2010和Qt4.7.3一起工作。我从源代码安装了Qt,指定使用以下配置构建:configure.exe-debug-and-release-opensource-platformwin32-msvc2010-no-webkit-no-phonon-no-phonon-backend-no-script-no-scripttools-no-qt3support-no-multimedia-无-ltcg配置后,我运行nmake,没问题。在我的visualstudio2010解决方案中,我有两个项目。

c++ - 理解Qt的QTransform旋转函数

由于thisquestion,我想更多地了解Qt的QTransform::rotate函数。Inthedocumentation,它说:QTransform&QTransform::rotate(qrealangle,Qt::Axisaxis=Qt::ZAxis)Rotatesthecoordinatesystemcounterclockwisebythegivenangleaboutthespecifiedaxisandreturnsareferencetothematrix.NotethatifyouapplyaQTransformtoapointdefinedinwidgetco

c++ - Qt 没有用于 QProcess::finished() 信号的插槽

我正在尝试从我在Linux中运行的Qt应用程序运行命令行程序gphoto2,并读取它输出到标准输出和标准错误的结果。此概念验证程序中的GUI是一个按钮和一个标签,用于显示标准错误和标准输出的输出。我无法将QtProcess::Finished信号连接到正确的插槽。我从标题、连接语句和函数中的Finished()信号文档中复制了参数列表。函数名称以MainWindow::类标识符为前缀。我已经没有什么可以尝试的了,我希望StackOverflow中的某个人能够指出这个问题。TheHeaderfile:#ifndefMAINWINDOW_H#defineMAINWINDOW_H#inclu

c++ - 具有多个参数的模板的 Qt foreach

我在使用qtforeach和具有多个模板参数的模板时遇到了问题。QVector>nodes;...[appendsomedata]...foreach(constNode&node,nodes){...}我收到这个错误:error:useofundeclaredidentifier'Q_FOREACH'我猜这是由于模板中的,造成的,因为Qt宏没有检测到它位于另一个模板声明中。如何在不使用普通for循环或C++11的情况下解决这个问题? 最佳答案 如果你的编译器支持C++11,你可以使用foreach(autonode,nodes){

C++ QT 内存分配

这个问题在这里已经有了答案:关闭9年前。PossibleDuplicate:MemorymanagementinQt?我一直在学习Qt,并且讨论是否应该删除指向Q对象(例如QLabel)的指针。Qt是否对指向Qt对象的指针进行自动内存管理,还是必须手动删除它们?例)#include#includeintmain(intargc,char*argv[]){QApplicationapp(argc,argv);QLabel*label=newQLabel("ImTough.");label->show();intresult=app.exec();//wouldthisbenecessar