jjzjj

c++ - 拔下 USB 串行电缆时发送信号

有没有办法使用Qt发送信号或任何其他方式来判断USB串行电缆是否已拔出? 最佳答案 您可以在QtSerialPort附加组件中使用QSerialPort类的error信号。在我们的文档中查看详细信息。http://qt-project.org/doc/qt-5.1/qtserialport/qserialport.html#error-prop你基本上需要这样写:connect(mySerialPort,SIGNAL(error(QSerialPort::SerialPortError)),this,SLOT(handleError

c++ - 全局对象和创建顺序

我还在学习C++。我有一个问题。假设您的项目具有始终存在的全局对象,例如ApiManager并且所有其他模块都可以访问它(通过#include)。现在我正在通过:标题:classApiManager:publicQObject{Q_OBJECTpublic:explicitApiManager(QObject*parent=0);signals:publicslots:};externApiManagerapiMng;来源:ApiManagerapiMng;问题是其他对象在初始化时也需要访问,我注意到C++全局对象是按字母顺序创建的。我想知道你是如何处理的?存在一些技巧吗?例如,在Fr

c++ - QObject::connect 没有匹配函数

我正在编写一个程序,每10毫秒发送一个UDP帧。以下是我的程序应该如何工作:我有一个客户端类://ConstructorclientSupervision::clientSupervision(){}voidclientSupervision::sendDataUDP(){//Createaframeandsendit...}voidclientSupervision::sendDataUDPTimer(inttimer){QTimer*tempsEnvoieTrameSupervision=newQTimer();//CreateatimertempsEnvoieTrameSuper

c++ - 有没有办法在qt中卸载eventfilter?

我只需要一段时间的事件过滤器,以后有没有办法卸载它? 最佳答案 请阅读eventsystemworksinQthere.这对于基本理解至关重要,尤其是这一段:TheQObject::installEventFilter()functionenablesthisbysettingupaneventfilter,causinganominatedfilterobjecttoreceivetheeventsforatargetobjectinitsQObject::eventFilter()function.Aneventfilterge

c++ - c++11 有类似 quint8 的东西吗?

这个问题在这里已经有了答案:fixedlengthdatatypesinC/C++(11个答案)关闭8年前。Qt中有一些类型,例如quint8,它保证在Qt支持的所有平台上都是8位的。我想知道C++11是否有这种类型?如果不是,有什么替代方案?谢谢。

c++ - Qt 相当于 boost::ptr_vector?

我需要一个拥有指针所有权的指针容器——即当一个元素被删除,或者容器超出范围时,它会释放所有指针,就像在boost::ptr_vector中一样。.QList>不起作用(编译错误,没有复制构造函数?)。现在我正在使用QList>,但它的引用计数和用于多线程的昂贵互斥体感觉有点矫枉过正。编辑:我刚刚了解到QPtrList(感谢@ForEveR)这在Qt3中非常等效,但已从更高版本中删除。我只是不明白他们为什么要删除它。 最佳答案 您是对的,由于上述原因,QSharedPointer有点开销。不幸的是,Qt中没有这样的指针vector,当

c++ - Qt:typeid替代

我想知道Qt是否提供了typeid的替代方法来识别变量类型并以人类可读的格式获取它们的名称。我的具体问题如下:structgArgument{QStringtype;void*arg;};voidgargConverter(gArgument*oArg,Tdata){oArg->type=typeid(data).name();oArg->arg=static_cast(&data);}这个想法是泛化一个变量以用作函数的输入。作为侧节点tyeinfo似乎无法在我的系统上正常工作(我在Windows7上使用MinGW),如果我尝试:inti;std::cout我明白了i7QStringd

c++ - 当我尝试将一个信号连接到插槽时,Qt 代码无法编译

我是Qt新手。我正在尝试实现一个非常简单的计算器程序。只是想放一个按钮,当它被点击时,我想让它打印“Hello,World!”到下一行编辑。当我只有一个按钮时它工作正常,但是当我添加第二个按钮时,它无法编译。由于我正在编写计算器代码,因此我需要这些按钮。错误如下:C:\Users\user\Desktop\Calc\build-Calc-Desktop_Qt_5_3_0_MinGW_32bit-Debug\debug\moc_mainwindow.o:-1:Infunction`ZN10MainWindow18qt_static_metacallEP7QObjectN11QMetaOb

c++ - Qt:如何通过系统调用捕获错误?

我正在构建一个GUI应用程序,我在其中执行系统调用并调用gnuplot来运行脚本。现在我想构建一条错误消息,指出出现问题时(例如,未安装gnuplot或路径错误)。所以我一直在考虑只放一个QMessageBox,但我不知道如何检查系统调用是否成功。if(//Systemcalldidn'twork){QMessageBoxmsgBox;msgBox.setWindowTitle("Error");msgBox.setIcon(QMessageBox::Critical);msgBox.setText("GNUPLOTwasnotinstalled");msgBox.exec();}我的

c++ - QFile::remove 不删除文件?

在尝试删除我刚用Qt下载的文件时遇到一个奇怪的问题。我的代码:QStringlocation="/path/to/app/Application.app";QFile*rmFile=newQFile(location);rmFile->remove();文件没有被删除。任何想法可能是错误的? 最佳答案 如果它看起来是一个目录,您希望将以下API与Qt5一起使用:boolQDir::removeRecursively()相对于QFile。因此,你会写这样的东西:QStringlocation="/path/to/app/Applica