我的问题是我试图将 aQGraphicsTextItem
定位在我的特定位置,QGraphicsScene
准确地说是在下面速度计的中心。但我尝试过的一切似乎都无法正常工作。尽管我清楚地提供了我想要的坐标QGraphicsTextItem
,但它仍然锚定在左上角,如下所示: 在代码片段下方:
速度小部件.cpp
SpeedWidget::SpeedWidget(QWidget *parent)
: QWidget(parent)
, ui(new Ui::SpeedWidget)
{
ui->setupUi(this);
mScene = new Scene(this);
ui->graphicsView->setScene(mScene);
io = new QGraphicsTextItem;
io->setPos(210,240);
QFont *f = new QFont;
f->setPointSize(18);
io->setFont(*f);
mScene->addText("Odometer :")->setDefaultTextColor(Qt::red);
mScene->addItem(io);
}
速度小工具.h
class SpeedWidget : public QWidget
{
Q_OBJECT
public:
SpeedWidget(QWidget *parent = nullptr);
~SpeedWidget();
private:
Ui::SpeedWidget *ui;
Scene *mScene;
QGraphicsTextItem *io;
};
#endif // SPEEDWIDGET_H
到目前为止,我尝试解决的问题是:
我查阅了这篇解释了这个想法的帖子,但在这个例子中我不需要更改背景颜色。
这个有一个很好的片段,但我不想突出颜色。我只是想将文本定位在特定位置。
如果我更改
io->setPos(210,240);
并给出不同的数字,我仍然会看到它锚定在左上角。
感谢您指出解决此问题的正确方向。