かなり基本的な質問ですが、グーグルで解決策を見つけることができませんでした。QT では、グラフィック アイテムが選択されると、その周りに境界線が表示されます。この境界線を非表示に設定する方法を考えていました。ありがとう。
質問する
6875 次
3 に答える
15
組み込みの QGraphicsItems の選択境界線の描画を無効にするインターフェイスはありません。paint()
私が考えることができる唯一の方法は、組み込みのアイテムから独自のアイテムを派生させ、関数をオーバーライドすることです。
void MyRectItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
{
QStyleOptionGraphicsItem myOption(*option);
myOption.state &= ~QStyle::State_Selected;
QGraphicsRectItem::paint(painter, &myOption, widget);
}
テストされていませんが、基本的には渡されたオプションのコピーを作成し、実際のに渡す前に選択状態フラグをクリアしますpaint()
。
于 2012-06-11T19:22:54.193 に答える
7
QGraphicsItem が QAbstractGraphicsShapeItem から派生している場合は、単純にそのペンを無効にすることができます。例:
myShape->setPen(Qt::NoPen);
于 2012-09-28T18:20:14.330 に答える