草庐IT

c++ - Qt; QWidget 移除和删除。 setParent(NULL) 有必要吗?

我一直在阅读Qwidgets的所有权并删除它们。例如:http://qt-project.org/doc/qt-4.8/objecttrees.html这表示“您也可以自己删除子对象,它们将从父对象中删除自己”然而,我看到的很多示例在删除之前将父级设置为null。例如:if(widget!=NULL){layout->removeWidget(widget);widget->setParent(NULL);deletewidget;}是否需要setParent(NULL);?从这里开始,有什么理由让我不能只做一个deletelayout->itemAt(i);或deletelayout

c++ - qt creator opencv windows cmake错误

我想配置然后生成opencv库供qtcreator链接它们。我打开cmake3.1.0并输入源代码和构建路径。来源:C:/Users/Philipp_Laptop/Downloads/opencv/sourcesbuild:C:/opencv-mingw然后我用路径配置了mingw-compiler:C:/Qt/Tools/mingw482_32/bin/gcc.exeC:/Qt/Tools/mingw482_32/bin/g++.exe成功配置后,我设置了with_Qt选项。我配置了两次,它显示了以下错误:DetectedversionofGNUGCC:48(408)CMakeWar

c++ - 从 QByteArray 解析 Qt5 JSON

我有QByteArray,包含这个JSON{"response":{"count":2,"items":[{"name":"somename","key":1"},{"name":"somename","key":1"}]}}需要解析并获取需要的数据:QJsonDocumentitemDoc=QJsonDocument::fromJson(answer);QJsonObjectitemObject=itemDoc.object();qDebug()第一次调试显示所有QByteArray的内容,记录在itemObject中,第二次调试不显示任何内容。我必须以其他方式解析它,或者为什么这个

c++ - Qt : Display a picture during application loading

我想为加载缓慢的应用程序添加启动画面。我已经创建了一个简单的应用程序来测试。main.cpp:intmain(intargc,char*argv[]){QApplicationapp(argc,argv);QPixmappixmap("/home/helene/Images/my_image.png");if(pixmap.isNull()){pixmap=QPixmap(300,300);pixmap.fill(Qt::magenta);}QSplashScreen*splash=newQSplashScreen(pixmap);splash->show();splash->show

c++ - Cmake 和 QT5 - Include 只接受一个参数

来自这个主题:UbuntuCMakewhatpathtoaddtoCMAKE_MODULE_PATH我尝试在我的项目中运行QT5,因为QT4不允许我包含QWebView。按照上述主题的指南,我现在有一个CMakeList.txt:cmake_minimum_required(VERSION2.6FATAL_ERROR)project(simpleTree)find_package(Qt5REQUIREDCOMPONENTSWidgetsCore)find_package(VTKREQUIRED)find_package(PCL1.8.0REQUIRED)include_director

c++ - Qt 5.4 中的 "No debugger set up"

这个问题在这里已经有了答案:QtCreator5-Nodebuggersetup(1个回答)关闭7年前。我已经安装了QtCreator(Qt5.4)。当我调试我的Qt项目时,它不会显示“未设置调试器”。现在我的电脑上已经安装了VC-2010,显然我有调试器(我验证了所有的工作)但是我是否必须为QtCreator下载另一个调试器?如何配置调试器才能工作?

c++ - 如何在qt中获取主窗口的touchevent

我正在为armboard编写应用程序。我有一个主窗口,我需要获取单点触摸的触摸坐标。由于缺乏Qt知识,我面临着获取触摸事件的问题。根据QTouchEvent类文档,我声明了一个槽,如下所示。#includeclassMainWindow:publicQMainWindow{Q_OBJECTpublic:explicitMainWindow(intx,inty,QWidget*parent=0);publicslots:voidtouchEvent(QTouchEvent*ev);};在mainwindow.cpp中,我将其重新定义如下。FFLabel[1]已由我声明,我正在写它以确认是

c++ - 使用 QAudioOutput (qt) 进行实时流式传输

我想播放实时声音以响应用户交互而没有明显的延迟。为了低延迟,我必须发送小块的pcm数据。我在做什么:QAudioFormatformat;format.setSampleRate(22050);format.setChannelCount(1);format.setSampleSize(16);format.setCodec("audio/pcm");format.setByteOrder(QAudioFormat::LittleEndian);format.setSampleType(QAudioFormat::SignedInt);QAudioDeviceInfoinfo(QAud

c++ - 如何在 Qt 中使用 QGraphicsItem 的 itemChange

我有自定义椭圆QGraphicsItem类和自定义线类。在现场,我假设有两个椭圆和它们之间用一条线连接起来。Ellipse有一个指向这条线的指针并且是可移动的。我的问题是我不知道如何使用QGraphicsItem中的itemChange()。我想建立会随着椭圆运动而变化的联系。所以我想使用itemChange()方法来更改线坐标,使其始终位于椭圆的中心。我阅读了来自QGraphicsItem::itemChange()的文档但我不知道如何在我的案例中使用它。 最佳答案 正如其他人已经指出的那样,您需要覆盖(重新实现)类中的方法。下面

c++ - Qt::WA_DeleteOnClose

我正在学习Qt并尝试“FoundationsofQtDevelopment”一书中的一些示例。在这本书中,有一节讲授单文档界面,并举例说明创建一个像记事本这样的简单应用程序。MainWindow::MainWindow(QWidget*parent):QMainWindow(parent),ui(newUi::MainWindow){ui->setupUi(this);setAttribute(Qt::WA_DeleteOnClose);setWindowTitle(QString("%1[*]-%2").arg("unnamed").arg("SDI"));connect(ui->d