我正在为 MD 模拟代码开发简单的 2D 可视化模块。我想做的是使用以下方法绘制模拟分子的位置:
myPainter.drawEllipse(myQPoint,myRx,myRy)
这部分在我的可视化小部件上效果很好。碰巧是一个问题是编写应该代表每个分子的 ID(整数)的文本。
myPainter.drawText(myPosPoint,QString::number(mySoftMolecule2D->getID()));
它绘制文本,但它太大。这可能是因为我需要使用坐标缩放myPainter
来轻松绘制分子。
myPainter.scale(myWidgetWidth_ / simSizeX_ , myWidgetHeight_ / simSizeY_);
// myWidgetWidth_ is much bigger simSizeX_
// myWidgetHeight_ is much bigger simSizeY_
在执行缩放坐标之前,我尝试放置这样的行myPainter
:
QFont myFont;
myFont.setPointSizeF(1.0); // values less than 1.0 doesn't work
myFont.setFamily("Courier");
myPainter.setFont(myFont);
但是分子的标签仍然太大了。
提前感谢您的帮助。