Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: не могу прочитать (не понимаю) запись в С++
Форум на CrossPlatform.RU > Разработка > С\С++
Litkevich Yuriy
void paintEvent(QPaintEvent *)
{
    QPainter(this).drawText(boundingRect, Qt::AlignCenter, "Qt"); //  <--
}
Может кто-нибудь объяснить как читать такую запись?

никакая переменная не создается, чтобы вызвать метод myvar.drawText().
статические члены класса вызываются так QPainter::drawText()

а тут как-то странно
Kagami
Все очень просто. Конструктор QPainter(this) возвращает объект QPainter у которого вызывается функция drawText().
Litkevich Yuriy
т.е. это равносильно:
void paintEvent(QPaintEvent *)
{
    QPainter   painter(this);
    painter.drawText(boundingRect, Qt::AlignCenter, "Qt");
}
? Но так не написали, потому-что больше эта переменная ни для чего не нужна?
Kagami
Угу
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.