c++ - qt c++ qpainter 与 QVector

标签 c++ qt qpainter

所以我有一个名为 xarray 的 QVector

QVector< QString > xarray;

现在我要绘制数组

void MainWindow::paintEvent( QPaintEvent* e )
{
    QPainter painter(this);

    for(int i = 0; i < 5; i++)
    {
        qDebug() << "\r\narr : " <<QList<QString>::fromVector(xarray);
        painter.drawEllipse(X, 10, 100, 100);
    }
}

如何将数组提供给我的 x comp?

我试过了

painter.drawEllipse(xarray[i], 10, 100, 100);

但是没有调用QPainter的函数。

最佳答案

一个简单的实现可能是这样的:

void MainWindow::paintEvent(QPaintEvent *e)
{
    QPainter painter(this);

    for(int i = 0; i < 5; i++)
    {
        painter.drawEllipse(xarray[i].toFloat(), 10.0, 100.0, 100.0);
    }
}

在将其用作drawEllipse 的参数之前,您需要将QString 值转换为float

但在实际代码中,我强烈建议确保 xarray 中的值在使用之前可以转换为 float

关于c++ - qt c++ qpainter 与 QVector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29652178/

相关文章:

qt - 用 PyQt 在 QLabel 上绘画

C++ libcurl -- 从 ftp 下载 txt 文件并保存为字符串

c++ - 利用否则浪费的填充空间

c++编译后出现错误

c++ - QT - 带有 "include"作为目录的包含路径不会包含

qt - QSocketNotifier : socket notifiers cannot be disabled from another thread

C++ win32 : how to set back color of a window?

c++ - func(QWidget* const &widget) VS func(QWidget* const 小部件)

c++ - QFont 中两行文本之间的垂直偏移量是多少?

c++ - 使用 QGraphicsView 子类用 QPainter 画一条线