0

I use irrlicht to render 3d model (.obj format) in qt 5.5 on ubuntu 18.04, everything works fine, except when I show a qdialog(the qdialog will call:

setWindowFlags(Qt::WindowType::Widget |
            Qt::WindowType::CustomizeWindowHint);
setAttribute(Qt::WA_TranslucentBackground);

if I didn't call the code above, the ui will not be freezed), my whole app ui will be freezed, the qdialog can not be shown, and got lots of warning:

[warning] QXcbConnection: XCB error: 8 (BadMatch), sequence: 6247, resource id: 69206027, major code: 130 (Unknown), minor code: 3.

I search a lot on google, but didn't find a solution, can anybody give me some help? Thanks very much!

Bruce
  • 51
  • 8
  • Is your dialog modal or modeless? – MartinVeronneau Feb 11 '19 at 19:43
  • @Martin Véronneau, It is a modal dialog. – Bruce Feb 12 '19 at 01:49
  • Just a hunch... Try creating the dialog modeless, and see if that fixes it. If it does, then I'll write that as an answer. – MartinVeronneau Feb 14 '19 at 14:05
  • Yes, it work fine when i change to modeless. But I don't think modal dialog lead to this problem , because when I show a model dialog whitout call below code: setWindowFlags(Qt::WindowType::Widget | Qt::WindowType::CustomizeWindowHint); It work fine too. – Bruce Feb 15 '19 at 01:57
  • I didn't write an answer because honestly, I'm not that knowledgable about Qt. What I know, though, is that if you open a modal dialog, the window the opened it no longer gets processed. A modal dialog is a blocking loop until you close it. I don't know what those two flags are doing, but I bet that one of the flags you're adding are setting the window as modal. So, in short, if you want your application to continue updating, don't use modal dialog. – MartinVeronneau Feb 15 '19 at 13:56

0 Answers0