Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/qt/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ qt c++;QVector的qpainter_C++_Qt_Qpainter - Fatal编程技术网

C++ qt c++;QVector的qpainter

C++ qt c++;QVector的qpainter,c++,qt,qpainter,C++,Qt,Qpainter,所以我有一个叫做xarray的QVector QVector< QString > xarray; 但是没有调用QPainter的函数,一个简单的实现可能看起来像: void MainWindow::paintEvent(QPaintEvent *e) { QPainter painter(this); for(int i = 0; i < 5; i++) { painter.drawEllipse(xarray[i].toFloat

所以我有一个叫做xarray的
QVector

QVector< QString > xarray;

但是没有调用
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);
    }
}
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{
painter.drawerlipse(xarray[i].toFloat(),10.01000.01000.0);
}
}
您需要将
QString
值转换为
float
值,然后才能将其用作
drawerlipse


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

一个简单的实现可能看起来像:

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);
    }
}
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{
painter.drawerlipse(xarray[i].toFloat(),10.01000.01000.0);
}
}
您需要将
QString
值转换为
float
值,然后才能将其用作
drawerlipse


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

一个简单的实现可能看起来像:

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);
    }
}
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{
painter.drawerlipse(xarray[i].toFloat(),10.01000.01000.0);
}
}
您需要将
QString
值转换为
float
值,然后才能将其用作
drawerlipse


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

一个简单的实现可能看起来像:

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);
    }
}
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{
painter.drawerlipse(xarray[i].toFloat(),10.01000.01000.0);
}
}
您需要将
QString
值转换为
float
值,然后才能将其用作
drawerlipse


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

我想您正在寻找

您有一个qstring数组,但需要将int传递给接受int的重载。您需要将字符串转换为整数

快速编辑代码将使其变成:

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

    for(int i = 0; i < 5; i++)
    {
       qDebug() << "\r\narr : " <<QList<QString>::fromVector(xarray);
       painter.drawEllipse(xarray[i].toInt(), 10, 100, 100);
    }
 }
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{

qDebug()我想你在找

您有一个QString数组,但需要将int传递给接受int的重载。您需要将字符串转换为整数

快速编辑代码将使其变成:

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

    for(int i = 0; i < 5; i++)
    {
       qDebug() << "\r\narr : " <<QList<QString>::fromVector(xarray);
       painter.drawEllipse(xarray[i].toInt(), 10, 100, 100);
    }
 }
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{

qDebug()我想你在找

您有一个QString数组,但需要将int传递给接受int的重载。您需要将字符串转换为整数

快速编辑代码将使其变成:

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

    for(int i = 0; i < 5; i++)
    {
       qDebug() << "\r\narr : " <<QList<QString>::fromVector(xarray);
       painter.drawEllipse(xarray[i].toInt(), 10, 100, 100);
    }
 }
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{

qDebug()我想你在找

您有一个QString数组,但需要将int传递给接受int的重载。您需要将字符串转换为整数

快速编辑代码将使其变成:

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

    for(int i = 0; i < 5; i++)
    {
       qDebug() << "\r\narr : " <<QList<QString>::fromVector(xarray);
       painter.drawEllipse(xarray[i].toInt(), 10, 100, 100);
    }
 }
void主窗口::paintEvent(QPaintEvent*e)
{
油漆工(本);
对于(int i=0;i<5;i++)
{


qDebug()没有多大意义,字符串不是数字。为什么你的向量不是整数(或浮点或其他)。我的数组是由XML文件推送的。如果我选择浮点或双精度,他将无法再读取我的文件:-(代码中的
X
是什么?如何在
for
循环中使用
i
呢?需要太多的假设来理解代码的实际用途。你能澄清一下吗?@user3676560:从循环中的数组中取出
QString
。然后将其转换为
int
X是放置m的地方y数组。使用“i”将循环ArrayDoe没有多大意义,字符串不是数字。为什么你的向量不是整数(或浮点或其他)。我的数组由XML文件推送。如果我选择浮点或双精度,他将无法再读取我的文件:-(代码中的
X
是什么?如何在
for
循环中使用
i
呢?需要太多的假设来理解代码的实际用途。你能澄清一下吗?@user3676560:从循环中的数组中取出
QString
。然后将其转换为
int
X是放置m的地方y数组。使用“i”将循环ArrayDoe没有多大意义,字符串不是数字。为什么你的向量不是整数(或浮点或其他)。我的数组由XML文件推送。如果我选择浮点或双精度,他将无法再读取我的文件:-(代码中的
X
是什么?如何在
for
循环中使用
i
呢?需要太多的假设来理解代码的实际用途。你能澄清一下吗?@user3676560:从循环中的数组中取出
QString
。然后将其转换为
int
X是放置m的地方y数组。使用“i”将循环ArrayDoe没有多大意义,字符串不是数字。为什么你的向量不是整数(或浮点或其他)。我的数组由XML文件推送。如果我选择浮点或双精度,他将无法再读取我的文件:-(代码中的
X
是什么?如何在
中使用
i
进行
循环?需要太多的假设才能理解代码的实际用途。您能澄清一下吗?@user3676560:b