Название: Объявление глобальных переменных
Отправлено: Den2009 от Сентябрь 14, 2010, 10:01
В главное окно программы вводятся координаты первой точки квадрата, далее происходит обработка. Как передать обработанные координаты объекту QPaintWidget? код mainwindow.cpp: #include <QtCore> #include <QtGui> #include "mainwindow.h" #include "qpaintwidget.h"
void MainWindow::go() {
int ox, oy, ox1, oy1; QString sox, soy; sox = spinBox -> text(); soy = spinBox_2 -> text(); ox = sox.toInt(); oy = soy.toInt();
//вычисляем координаты остальных вершин квадрата ox1 = ox + 20; oy1 = oy + 20;
QTextCodec::setCodecForTr(QTextCodec::codecForName("Windows-1251")); this->setWindowModality(Qt::NonModal); QPaintWidget *wgt = new QPaintWidget(); wgt->setFixedSize(550, 550); wgt->setWindowTitle(tr("Графическое отображение выполнения программы")); wgt->show(); } код qpaintwidget.cpp, сюда необходимо передать значения ox, oy, ox1, oy1 из MainWindow #include "qpaintwidget.h"
#include <QPainter>
QPaintWidget::QPaintWidget(QWidget *parent) : QWidget(parent) { }
void QPaintWidget::paintEvent(QPaintEvent *) { QPainter p(this); // Создаём новый объект рисовальщика p.setWindow(QRect(-250,-250,500,500)); p.setPen(QPen(Qt::red,1,Qt::SolidLine)); // Настройки рисования
QPolygonF polygon1; QPolygonF polygon2; //Рисуем координатную сетку polygon1 << QPointF(0,250) << QPointF(0,-250); polygon2 << QPointF(-250,0) << QPointF(250,0); p.drawPolygon(polygon1); p.drawPolygon(polygon2); for (int i = -250; i <= 250; i = i + 10) { QPolygonF polygon3; QPolygonF polygon4; polygon3 << QPointF(i, 0) << QPointF(i, 5); polygon4 << QPointF(0, i) << QPointF(5, i); p.drawPolygon(polygon3); p.drawPolygon(polygon4); } //рисуем первоначальный квадрат QPolygonF polygon; polygon << QPointF(ox, oy) << QPointF(ox1, oy) << QPointF(ox1, oy1) << QPointF(ox, oy1); p.setPen(QPen(Qt::black, 1, Qt::SolidLine)); p.drawPolygon(polygon); }
Название: Re: Объявление глобальных переменных
Отправлено: Авварон от Сентябрь 14, 2010, 10:06
сделать сеттер для координат ???
Название: Re: Объявление глобальных переменных
Отправлено: Den2009 от Сентябрь 14, 2010, 16:55
ну с графикой в QT я работаю недавно.. хотелось бы все-таки ответ по существу
Название: Re: Объявление глобальных переменных
Отправлено: lit-uriy от Сентябрь 14, 2010, 20:27
>>ну с графикой в QT я работаю недавно а графика тут не причём. сеттер (англ. setter) - функция-член класса, которая устанавливает его внутренние переменные в некое состояние
другими словами, добавь в свой класс функцию, с помощью которой ты сможешь передавать в него данные.
Название: Re: Объявление глобальных переменных
Отправлено: Den2009 от Сентябрь 15, 2010, 07:46
спасибо, разобрался
|