我正在为MD模拟代码开发一个简单的2D可视化模块。我的目标是使用以下方法绘制模拟分子的位置:
myPainter.drawEllipse(myQPoint,myRx,myRy)
在我的可视化小部件上,这部分运作得相当不错。问题出在编写代表每个分子ID(整数)的文本时。
myPainter.drawText(myPosPoint,QString::number(mySoftMolecule2D->getID()));
它可以绘制文本,但是字体太大了。这可能是因为我需要使用坐标缩放来方便地绘制分子。
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);
但是分子的标签仍然过于庞大。
提前感谢您的任何帮助。