Я работаю над простым модулем 2D-визуализации для кода моделирования MD.То, что я пытаюсь сделать, это рисовать позиции моделируемых молекул, используя:
myPainter.drawEllipse(myQPoint,myRx,myRy)
И эта часть работает очень хорошо в моем виджете визуализации.Проблема, которая оказалась проблемой, - это написание текста, который должен представлять идентификатор каждой молекулы (целое число).
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);
, но метка молекул все еще слишком велика.
Заранее благодарим за любую помощь.