如何在QCustom3DLabel上重置文本?

问题描述 投票:0回答:1

以下,我试图更改QCustom3DLabel的文本,但它没有改变。那么,关于如何处理此问题的任何建议?

MainWidget::MainWidget(QWidget *parent) : QWidget(parent)
{
    resize(800,600);
    auto vLayout = new QVBoxLayout(this);

    auto graph = new Q3DBars;
    vLayout->addWidget(QWidget::createWindowContainer(graph));

    auto camera = graph->scene()->activeCamera();
    camera->setCameraPreset(Q3DCamera::CameraPresetIsometricLeft);

    graph->axes()[0]->setRange(0,5);
    graph->axes()[1]->setRange(0,5);
    graph->axes()[2]->setRange(0,5);

    label = new QCustom3DLabel;
    label->setText("123");
    label->setScaling({5,5,5});
    label->setPosition({1,1,1});
    graph->addCustomItem(label);

    auto timer = new QTimer;
    connect(timer, &QTimer::timeout, this, &MainWidget::setText);
    timer->start(2000);
}

void MainWidget::setText()
{
    qDebug() << "settext";
    label->setText("1234567890");
}
c++ qt 3d qt5 data-visualization
1个回答
0
投票

也许setText需要一个QString。你可以尝试这样的事情吗:

label-> setText(QString(tr(“ 1234567890”))));update();

谢谢

© www.soinside.com 2019 - 2024. All rights reserved.