Я новичок в QT.Я скопировал Пример окна растра и переписал его в обычную программу вместо классной программы.Ниже приведен код
#include <QtGui>
int main(int argc, char *argv[]){
QGuiApplication app(argc, argv);
QWindow w;
w.showMaximized();
QBackingStore *m = new QBackingStore(&w);
m->resize(w.size());
QRect rect(0, 0, w.width()/2, w.height()/2);
m->beginPaint(rect);
QPaintDevice *device = m->paintDevice();
QPainter painter(device);
painter.fillRect(0, 0, w.width(), w.height(), QGradient::NightFade);
painter.end();
m->endPaint();
m->flush(rect);
QRect rect1(w.width()/2, w.height()/2, w.width()/2, w.height()/2);
m->flush(rect1);
return app.exec();
}
В приведенной выше программе я ожидал, что fillRec
будет заполнять только «прямоугольник».Но это также заполняет "rect1".Почему это так?