qpointer

    3热度

    1回答

    我有一个Qt应用程序,它使用QPointers调出新的UI对话框(Widgets)。主应用程序可以有许多与不同数据加载的相同小部件。我遇到的问题是删除并释放每个小部件的内存。如果我监视程序的RAM使用情况,每次单击按钮打开其中一个新窗口小部件时,它会增加内存,并且当我关闭窗口小部件时,它似乎没有释放内存。我试过使用deleteLater和其他解决方案,但不断在程序中崩溃。 一些示例代码是在这里:

    0热度

    1回答

    我在写一个表达式解析库。 这是写使用Qt,和我有一个类结构是这样的: QCConstantNode -Constants在表达 QCExpressionNode - 抽象基类的表达式的所有条(延伸QCExpressionNode) QCVariableNode - 变量在表达式(扩展QCExpressionNode) QCBinaryOperatorNode - 二进制加法,减法,乘法,除法和电力

    0热度

    1回答

    是否可以使用QPointer和QHash? QPointer<QHash<QString, QPointer<QStringList>> > pHash;

    4热度

    2回答


    1热度

    1回答

    使用QPointer从另一个不相关的对象访问对象方法有一个奇怪的问题。 我已经准备了一个小例子来更好地解释它。 我在简单的QDialog中创建了两个QWidget,Widget_A和Widget_B。 我需要从Widget_B访问Widget_A的公共方法:我通过widget_a指向指向QPointer作业的widget_b方法。 Widget_A包含我想从Widget_B中清除的QLineEdi

    0热度

    1回答

    当我删除QPointer指向的对象时,我检查了QPointer的值,它不是NULL,但是当我检查它的isNull函数时,它返回true。 更奇怪的是,当我这样做时(!m_qpointer)它也返回true。 那么这怎么可能? inline operator T*() const { return static_cast<T*>(const_cast<QObject*>(o)); }

    4热度

    3回答

    根据SGI's doc on associative containers,“由于元素是根据它们的键来存储的,所以与每个元素相关的键是不可变的是非常重要的”。我有时使用指针作为std :: map的关键字,因为尽管指向的对象可能是可变的,但指针本身是不变的。 QPointer在技术上是模仿指针的对象,Qt's doc表示我们可以像指针一样使用QPointers。由于QPointer对象本身可能在执

    2热度

    1回答

    boost::bind处理boost::shared_ptr与原始指针相同。 QObject * object(new QObject); boost::shared_ptr<QObject> sharedObject(new QObject); bind(&QObject::setObjectName, object, _1)("name"); bind(&QObject::setObj

    0热度

    1回答

    我正在使用Qt 5.4并尝试从我的QTcpSocket发出“已断开”信号时恢复接受新连接。所以我写的h和.cpp文件分别如下: QPointer<QTcpServer> tcpServer; // in .h file connect(tcpSocket, &QAbstractSocket::disconnected, [=](){ tcpServer->resumeAccepti