[PyQt] Huge text under macOS as soon as QGLWidget is used?

Elvis Stansvik elvstone at gmail.com
Sat Feb 2 20:50:52 GMT 2019


Den lör 2 feb. 2019 kl 21:37 skrev Elvis Stansvik <elvstone at gmail.com>:
>
> Den lör 2 feb. 2019 kl 21:31 skrev Elvis Stansvik <elvstone at gmail.com>:
> >
> > Den lör 2 feb. 2019 kl 21:12 skrev Elvis Stansvik <elvstone at gmail.com>:
> > >
> > > Hi all,
> > >
> > > (This may not be PyQt-specific.)
> >
> > Actually, I just tried in C++:
> >
> > #include <QApplication>
> > #include <QMainWindow>
> > #include <QPushButton>
> > #include <QGLWidget>
> > #include <QVBoxLayout>
> >
> > int main(int argc, char *argv[]) {
> >     QApplication app(argc, argv);
> >
> >     // Case 1: No QGLWidget
> >     QMainWindow win1;
> >     auto *widget1 = new QWidget();
> >     auto *layout1 = new QVBoxLayout();
> >     layout1->addWidget(new QPushButton("Hello 1"));
> >     widget1->setLayout(layout1);
> >     win1.setCentralWidget(widget1);
> >     win1.show();
> >
> >     // Case 2: QGLWidget
> >     QMainWindow win2;
> >     auto *widget2 = new QWidget();
> >     auto *layout2 = new QVBoxLayout();
> >     layout2->addWidget(new QPushButton("Hello 2"));
> >     layout2->addWidget(new QGLWidget());
> >     widget2->setLayout(layout2);
> >     win2.setCentralWidget(widget2);
> >     win2.show();
> >
> >     return app.exec();
> > }
> >
> > And the result looks correct then (see attached screenshot).
> >
> > So it must be something with the fact that it's PyQt I think..?
>
> For full disclosure: The C++ version I ran with Qt 5.12.0 while the
> PyQt version was run with PyQt 5.11.3 (so Qt 5.11.2) and it's of
> course possible it was a bug in Qt that is fixed in 5.12.0.
>
> But something as obvious as this does not feel like it would be a Qt
> bug, or everyone using QGLWidget on Mac would see it..

I thought I'd test with pyside2 so I first ran with pyside2 5.12.1 and
it looked OK, but going back to pyside2 5.11.2 it has the same problem
as with PyQt.

So it really looks like it's a Qt bug, just gotto find the bug number
or fix commit to be 100% sure.

Sorry for the noise.

Elvis

>
> Elvis
>
> >
> > Elvis
> >
> > >
> > > I was debugging a problem with huge text when mixing PyQt and VTK.
> > >
> > > Minimal test case:
> > >
> > > import sys
> > >
> > > from PyQt5.QtWidgets import QApplication, QMainWindow, \
> > >         QPushButton, QVBoxLayout, QWidget
> > > from PyQt5.QtOpenGL import QGLWidget
> > >
> > > app = QApplication(sys.argv)
> > >
> > > # Case 1: No QGLWidget
> > > win1 = QMainWindow()
> > > widget1 = QWidget()
> > > layout1 = QVBoxLayout()
> > > layout1.addWidget(QPushButton('Hello 1'))
> > > widget1.setLayout(layout1)
> > > win1.setCentralWidget(widget1)
> > > win1.show()
> > >
> > > # Case 2: QGLWidget
> > > win2 = QMainWindow()
> > > widget2 = QWidget()
> > > layout2 = QVBoxLayout()
> > > layout2.addWidget(QPushButton('Hello 2'))
> > > layout2.addWidget(QGLWidget())
> > > widget2.setLayout(layout2)
> > > win2.setCentralWidget(widget2)
> > > win2.show()
> > >
> > > exit(app.exec_())
> > >
> > > See attached screenshot for result (using latest PyQt wheel from PyPI).
> > >
> > > How come in the second main window, the QPushButton has become huge,
> > > just because a QGLWidget was added. Anyone know?
> > >
> > > Many thanks in advance,
> > > Elvis


More information about the PyQt mailing list