Russian Qt Forum

Qt => 2D и 3D графика => Тема начата: VitaliyAlex от Февраль 29, 2012, 00:15



Название: Рисование точек в виджете по расчитываемым координатам
Отправлено: VitaliyAlex от Февраль 29, 2012, 00:15
Здраствуйте, возникла такая проблема: нужно прорисовывать точки каждый раз по меняющимся координатам, которые рассчитываются программой после нажатия кнопки и рисоваться все это должно в отдельном виджете.

Код:
void Test_class::initial()
{
    double ax,ay;
    int i,ncol;
    i=0;
    i=i+1;
    ncol=N/nrow;
    ay=Ly/nrow;
    ax=Lx/ncol;
    for(int icol=1;icol<=ncol;icol++)
    {
        for(int irow=1;irow<=nrow;irow++)
        {
            i=i+1;
            y[i]=ay*(irow-0.5);
            if((irow%2)==0)
            {
                x[i]=ax*(icol-0.25);
            }
            else
            {
                x[i]=ax*(icol-0.75);
            }
// в этом месте необходимо рисовать на виджете точки
        }
    }
}



Код:
void MainWindow::startClicked()
{
    Test_class object;
    object.N=(ui->lineEdit_1->displayText()).toInt(0,10);
    object.Lx=(ui->lineEdit_2->displayText()).toDouble();
    object.Ly=(ui->lineEdit_3->displayText()).toDouble();
    object.nrow=(ui->lineEdit_4->displayText()).toInt(0,10);
    //ui->label_1->setText(QString::number(object.Lx));
    object.initial();//здесь вызыватеся метод.

}
Как мне это реализовать?


Название: Re: Рисование точек в виджете по расчитываемым координатам
Отправлено: Странник от Февраль 29, 2012, 00:34
рисование на виджете возможно только внутри paintEvent. при необходимости вызывайте перерисовку виджета в нужном вам месте кода.