(1)QPointerQPointer是一个模板类。它很类似一个普通的指针,不同之处在于,QPointer 可以监视动态分配空间的对象,并且在对象被 delete 的时候及时更新。QPointer的现实原理:在QPointer保存了一个QObject的指针,并把这个指针的指针(双指针)交给全局变量管理,而QObject 在销毁时(析构函数,QWidget是通过自己的析构函...
// QPointer 表现类似普通指针 QDate *mydate = new QDate(QDate::currentDate()); ...
Q_PROPERTY(PointerStyle pointerStyle READ getPointerStyle WRITE setPointerStyle) public: enum PointerStyle { PointerStyle_Circle = 0, //圆形指示器 PointerStyle_Indicator = 1, //指针指示器 PointerStyle_IndicatorR = 2, //圆角指针指示器 PointerStyle_Triangle = 3 //三角形指示器 }; explicit Gauge...
Q_PROPERTY(bool showValue READ getShowValue WRITE setShowValue) Q_PROPERTY(PointerStyle pointerStyle READ getPointerStyle WRITE setPointerStyle) public: enum PointerStyle { PointerStyle_Circle = 0, //圆形指示器 PointerStyle_Indicator = 1, //指针指示器 PointerStyle_IndicatorR = 2, //圆角指针指示...
将类中的成员函数运行在某一个线程中,可将指向该类实例的引用或指针作为 QtConcurrent::run 的第一个参数传递进去,常量成员函数一般传递常量引用 (const reference),而非常量成员函数一般传递指针 (pointer)。 常量成员函数 在一个单独的线程中,调用 QByteArray 的常量成员函数 split(),传递给 run() 函数的参数是...
void drawPointer(QPainter *painter); void drawValue(QPainter *painter); private slots: void updateValue(); private: double minValue; //最小值 double maxValue; //最大值 double value; //目标值 int precision; //精确度,小数点后几位 ...
PointerStylegetPointerStyle()const; QSizesizeHint()const; QSizeminimumSizeHint()const; public Q_SLOTS://设置范围值voidsetRange(doubleminValue,doublemaxValue);voidsetRange(intminValue,intmaxValue);//设置最大最小值voidsetMinValue(doubleminValue);voidsetMaxValue(doublemaxValue);//设置目标值voidsetV...
QT中的对象模型――QPointer QPointer是一个模板类,为QObject对象提供了守卫指针(Guarded Pointer)。什么是守卫指针?守卫指针QPointer<T>类似于普通C++指针T *,有且仅有一点不同:当被引用的对象被删除的时候,守卫指针自动设置为0,不像普通的C++指针将成为“野指针”。这里,T必须是QObject的子类。
(constQColor &scaleColor);//设置线条颜色voidsetLineColor(constQColor &lineColor);//设置文字颜色voidsetTextColor(constQColor &textColor);//设置指针颜色voidsetPointerColor(constQColor &pointerColor);//设置手柄颜色voidsetHandleColor(constQColor &handleColor);//设置旋转角度值voidsetDegValue(intdeg...
但parent是不区分它的child是new出来的还是在栈上分配的。这体现delete的强大,可以释放掉任何的对象,而delete栈上对象就会导致内存出错,这需要了解Qt的半自动的内存管理。另一个问题:child不知道它自己是否被delete掉了,故可能会出现野指针。那就要了解Qt的智能指针QPointer。