Qt 如何使用带有 QColor 的 RGB 颜色创建 QBrush 并在以后更改它?
Qt How to create a QBrush using a RGB Color with QColor and change it later?
目前我用它来创建一个QBrush:
QBrush *goldBrush = new QBrush(QColor(212,175,55));
scene->addRect(0,415,20,50,noPen,*goldBrush);
但显然这会泄漏内存。
你还能怎么做?我试过这个:
QBrush greyBrush(QColor(212,175,55));
greyBrush.setColour(QColor(120,60,55))
但这也没有用。我希望能够将画笔声明为一种颜色然后能够更改它。
编辑:我的问题满满的。
更改画笔颜色的唯一方法是通过 QBrush::setColor
。画笔复制了您指定的颜色,不是参考。
QBrush my_brush;
QColor red(Qt::red);
my_brush.setColor(red); // my_brush has its own color member internally
// and _not_ a reference to red
也许您习惯了其他编程语言,例如 Java,其中基本上所有内容都是参考。在 C++ 中有 values semantics.
目前我用它来创建一个QBrush:
QBrush *goldBrush = new QBrush(QColor(212,175,55));
scene->addRect(0,415,20,50,noPen,*goldBrush);
但显然这会泄漏内存。
你还能怎么做?我试过这个:
QBrush greyBrush(QColor(212,175,55));
greyBrush.setColour(QColor(120,60,55))
但这也没有用。我希望能够将画笔声明为一种颜色然后能够更改它。
编辑:我的问题满满的。
更改画笔颜色的唯一方法是通过 QBrush::setColor
。画笔复制了您指定的颜色,不是参考。
QBrush my_brush;
QColor red(Qt::red);
my_brush.setColor(red); // my_brush has its own color member internally
// and _not_ a reference to red
也许您习惯了其他编程语言,例如 Java,其中基本上所有内容都是参考。在 C++ 中有 values semantics.