crossplatform.ru

Здравствуйте, гость ( Вход | Регистрация )

> Рисование на динамической форме
tumanovalex
  опции профиля:
сообщение 4.4.2011, 18:42
Сообщение #1


Студент
*

Группа: Участник
Сообщений: 24
Регистрация: 6.8.2008
Пользователь №: 253

Спасибо сказали: 0 раз(а)




Репутация:   0  


При нажатии на кнопке основной формы создаю окно и хочу нарисовать на нем линию по диагонали на весь экран:
  QWidget *widget = new QWidget(0);
  QPalette p(widget->palette());
  p.setColor(QPalette::Background, Qt::white);
  widget -> setPalette(p);
  QShortcut *shortcut =  new QShortcut(QKeySequence("Esc"), widget);
  connect(shortcut, SIGNAL(activated()), widget, SLOT(close()));
  QRect scrgeom = QApplication::desktop() -> screenGeometry();
  int ymax = scrgeom.height();
  int xmax = scrgeom.width();
  QPainter painter(widget);
  QPen     pen(Qt::black);
  pen.setStyle(Qt::SolidLine);
  pen.setWidth(10);
  painter.setPen(pen);
  painter.drawLine(0, 0, xmax, ymax);
  widget -> setCursor(QCursor( Qt::BlankCursor ));
  widget -> showFullScreen();
Окно создается, но вот линии на нем нет. Если заранее создать класс для widget и в нем определить paintEvent с рисованием линий, то, как я понимаю, все будет нормально перерисовываться. А без создания класса для виджета нельзя обойтись? Как-нибудь определить в моем коде widget->paintEvent и указать функцию, которая будет обрабатывать перерисовку?
Перейти в начало страницы
 
Быстрая цитата+Цитировать сообщение

Сообщений в этой теме


Быстрый ответОтветить в данную темуНачать новую тему
Теги
Нет тегов для показа


1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0




RSS Текстовая версия Сейчас: 20.4.2024, 11:38