Форум программистов
 
О проблемах, например, с регистрацией пишите сюда - alarforum@yandex.ru, проверяйте папку спам! Обязательно пройдите активизацию e-mail, а тут можно восстановить пароль.

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

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Ответ
 
Опции темы
Старый 01.05.2012, 22: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 вне форума Ответить с цитированием
Старый 01.05.2012, 23: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 вне форума Ответить с цитированием
Старый 01.05.2012, 23:14   #3
stas135642
Пользователь
 
Регистрация: 31.10.2010
Сообщений: 39
По умолчанию

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

Здесь нужно купить рекламу за 20 тыс руб в месяц! ) пишите сюда - alarforum@yandex.ru
Без учёта ботов - 20000 человек в день, 350000 в месяц.

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Рисование изменяемой сетки. Masip Общие вопросы Delphi 4 07.05.2010 14: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


Проекты отопления, пеллетные котлы, бойлеры, радиаторы
интернет магазин respective.ru
Пеллетный котёл Emtas
котлы EMTAS
Здесь нужно купить рекламу за 7 тыс руб в месяц! )
пишите сюда - alarforum@yandex.ru
ИКС 840