Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Visual C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 01.05.2012, 23:49   #1
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию Рисование сетки в QGraphics Scene

Здравствуйте, уважаемые программисты.Помогите, плз, с решением проблемы. На днях начал делать курсовой на Qt. Тема: крестики-нолики(3X3). Думал, что никаких проблем с отрисовкой сетки не будет, но они все-таки возникли: правая граница сетки не отображается. Короче, мне нужно, чтобы поле было 300x300. Я в designer помещал qGraphicsView на виджет, задавал ему фиксированный размер 300X300. Потом создавал сцену:
Код:
 setupUi(this);
    scene = new MyScene;
    scene->setSceneRect(0, 0, 300, 300);
    graphicsView->setScene(scene);
Далее собственноручно писал координаты для линий и добавлял их через addLine(было созданы 2 вертикальные и 2 горизонтальные линии). Я также хотел реализовать работу с клавиатурой: добавляем Rect на сцену и перемещаем его по ячейкам. НО, ЕСЛИ он проходит по ячейкам (3,1;3,2;3,3), то его правая граница стирается, а, если по (1,3; 2,3; 3,3), то стирается нижняя граница. Может есть какой-нибудь универсальный алгоритм для расчета координат линий??? Заранее благодарен!!!
stas135642 вне форума Ответить с цитированием
Старый 02.05.2012, 00:04   #2
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию

Кстати, а вот эта реализация более или менее точна???
Код:
QPen pen(Qt::SolidLine);
        float _width = 392/3;
        float cor_x=1.0;
        float cor_y=1.0;
        for(int j=0; j<3 ; j++)
        {
            for(int i=0; i<3; i++)
            {
                QGraphicsItem * item =
                addRect(QRectF(cor_x,cor_y, _width,_width), pen);
                cor_y += _width;
            }
            cor_y =1.0;
            cor_x += _width;
        }
stas135642 вне форума Ответить с цитированием
Старый 02.05.2012, 00:14   #3
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию

Все. Проблема решена!!!!!!!!!!!))))))))))))
stas135642 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование изменяемой сетки. Masip Общие вопросы Delphi 4 07.05.2010 15:37
рисование сетки GaLiof Помощь студентам 0 25.12.2009 17:59
Макрос-рисование сетки rzrwolf Microsoft Office Excel 3 03.01.2009 20:01
Помогите с GL Scene. Vitek enemy Помощь студентам 15 04.12.2007 21:02