以下,我试图更改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");
}
也许setText需要一个QString。你可以尝试这样的事情吗:
label-> setText(QString(tr(“ 1234567890”))));update();
谢谢