• 6751阅读
  • 4回复

请问如何去掉QGraphicsScene中输入文字时的虚线框? [复制链接]

上一主题 下一主题
离线wjdid
 

只看楼主 倒序阅读 楼主  发表于: 2011-10-12
小弟想请问下如何去掉QGraphicsScene中输入文字时的虚线框啊,这个问题困扰了两天了还没一点头绪,请各位高手帮帮忙啊!每次点击输入的时候都有如图所示的虚线框,请问怎么去掉,让输入时只剩下光标啊?
虚线框如图所示:
离线shaoshuai898

只看该作者 1楼 发表于: 2011-10-12
围观 看看是不是有属性设置的呀
离线wxj120bw

只看该作者 2楼 发表于: 2011-10-16
回 1楼(shaoshuai898) 的帖子
这次直接贴代码了 重写QGraphicsItem的paint函数
  1. void DiagramTextItem::paint(QPainter *painter, const QStyleOptionGraphicsItem *option, QWidget *widget)
  2. {
  3.     QStyleOptionGraphicsItem op;
  4.     op.initFrom(widget);
  5.     op.state = QStyle::State_None;
  6.     return QGraphicsTextItem::paint(painter, &op, widget);
  7. }

PS:希望这个问题不要在论坛上出现了
离线techabc
只看该作者 3楼 发表于: 2011-10-19
我的其中一个问题与楼主相反,也请大家给看看:
1. 自定义的QGraphicsItem由QGraphicsPixmapItem和QGraphicsTextItem组合而成,如何给它加上处于被选中状态时四周围的虚线框?
2. 如何使QGraphicsView和QGraphicsItem都能响应contextMenuEvent事件?
离线techabc
只看该作者 4楼 发表于: 2011-10-19
问题2已经解决如下:
在void MyScene::contextMenuEvent ( QGraphicsSceneContextMenuEvent * contextMenuEvent )中做如下处理即可:

    if(0 < selectedItems().count())
    {
        contextMenuEvent->ignore();
        QGraphicsScene::contextMenuEvent(contextMenuEvent);
        return;
    }
快速回复
限100 字节
 
上一个 下一个