问题：
            调用scene的items()或itemAt()函数捕捉当前鼠标下的item时，返回的item不正确
        解决过程:
            参考QGraphicsItem.cpp中的contains()
            bool QGraphicsItem::contains(const QPointF &point) const
            {
                return isClipped() ? clipPath().contains(point) : shape().contains(point);
            }
            通过测试发现isClipped()永远返回true, 参考qt assitante的文档说明:
            bool QGraphicsItem::isClipped () const
              " Returns true if this item is clipped.
                An item is clipped if it has either set the ItemClipsToShape flag,
                or if it or any of its ancestors has set the ItemClipsChildrenToShape flag. "
            意思就是说如果item中设置了ItemClipsToShape标记(通过setFlag()设置)或者
                          item的parent设置了ItemClipsChildrenToShape标记
            查找pyqtgraph的源代码发现：
            在ViewBox.py的__init__()中设置了ItemClipsChildrenToShape标记
        解决方法:
            注释掉self.setFlag(self.ItemClipsChildrenToShape)该行
1.新建makeTS.py文件，用于生成ts翻译文件的批处理
2.添加翻译文件，基本翻译完成。注意：只有自身类里面的self.tr()才管用，父类里面翻译对子类没有用，所以Tunnel和HairDryer类重载了TObject类的getMenu函数
3.邓哥给解决捕捉的问题，现在捕捉不用mouseHovering作为判断条件，因为contains直接调用了shape(),之前调用的是boundingRect()。具体参见ViewBox.py里面的self.setFlag()，里面有注释