Re: Resize flicking on QMainWindow centralWidget in python but not C++
Patrick Stinson <[email protected]>
| Newsgroups | gmane.comp.python.pyqt-pykde |
|---|---|
| Message-ID | <[email protected]> |
So it does, and changing that makes it work like the C++ example. My own app is still showing the problem even without using QOpenGLWidget. I wonder if there is some setting somewhere that implicitly uses QOpenGLWidget…. > On Oct 5, 2019, at 5:36 PM, Eric Pettersen <[email protected]> wrote: > > Your Python class inherits from QOpenGLWidget. Your C++ class inherits from QWidget. > >> On Oct 5, 2019, at 2:10 PM, Patrick Stinson <[email protected] <mailto:[email protected]>> wrote: >> >> Hello, >> >> On MacOS, a QMainWindow with a simple painted centralWidget flickers when resizing quickly in python but not in C++. This only occurs with QMainWindow It is particularly pronounced more complex widgets, as shown in the following video: >> >> https://youtu.be/0Qjy2wm6m9M <https://youtu.be/0Qjy2wm6m9M> >> >> Here is the python example that shows the bug. Just run, rapidly resize the height of the widget , and observe a black flickering on the top edge of the widget as the height changes. >> >> class Widget(QOpenGLWidget): >> def paintEvent(self, e): >> p = QPainter(self) >> p.setBrush(Qt.red) >> p.drawRect(self.rect()) >> >> app = QApplication(sys.argv) >> mw = QMainWindow() >> w = Widget() >> mw.setCentralWidget(w) >> mw.show() >> w.show() >> app.exec() >> >> >> The following 1-to-1 C++ translation shows no such behavior: >> >> >> #include <QApplication> >> #include <QMainWindow> >> #include <QWidget> >> #include <QPainter> >> >> class Widget : public QWidget { >> public: >> void paintEvent(QPaintEvent *) { >> QPainter p(this); >> p.setBrush(Qt::red); >> p.drawRect(rect()); >> } >> }; >> >> int main(int argc, char *argv[]) >> { >> QApplication a(argc, argv); >> QMainWindow mw; >> QWidget *w = new Widget; >> mw.setCentralWidget(w); >> mw.show(); >> return a.exec(); >> } >> >> >> >> >> >> _______________________________________________ >> PyQt mailing list [email protected] <mailto:[email protected]> >> https://www.riverbankcomputing.com/mailman/listinfo/pyqt <https://www.riverbankcomputing.com/mailman/listinfo/pyqt> > _______________________________________________ PyQt mailing list [email protected] https://www.riverbankcomputing.com/mailman/listinfo/pyqt