1.Q_OBJECT
The Q_OBJECT macro must appear in the private section of a class definition that declares its own signals and slots or that uses other services provided by Qt's meta-object system.
在QObject的派生类中,使用信号和槽,需要加上Q_OBJECT的宏定义,下面为官方文档代码
#include <QObject>
class Counter : public QObject
{
Q_OBJECT
public:
Counter() { m_value = 0; }
int value() const { return m_value; }
public slots:
void setValue(int value);
signals:
void valueChanged(int newValue);
private:
int m_value;
};
2.QColor
void printColor(QColor c){
qDebug()<<"颜色:"<<c;
}
调用上面的函数会输出
颜色: QColor(ARGB 1, 1, 0.333333, 0)
那么都是什么意思呢?
ARGB,代表是由4颜色通道构成,分别代表透明度(alpha),红色(red),绿色(green),蓝色(blue)
上面的4个数值,分别代表透明度(alpha),红色(red),绿色(green),蓝色(blue)。他们值都是0-1范围,且是6位小数。
1对于alpha来说是完全不透明,0是完全透明。
1对于RGB来说是最深的,0是最浅的。