Open icenaive opened 3 weeks ago
Hi, did you ever figure this out? I'm afraid we don't have much Qt experience on this end so we are relying on others to help you.
My only guess would be: after the click, instead of immediately trying to open a Qt dialog from inside the event handler, queue up the request and open your dialog from the main Qt loop. Maybe there is a problem launching a dialog from the OSG event traversal.
Let us know if you find a solution.
osgEarth Version (required):3.5,qt5.12
Description of the problem:annotation can not render.
I am using osg to add a two-dimensional map function on the qt platform. I am developing the function of using the mouse to click on the map to add labels. However, I found that after using qinputdialog to input text, the label text cannot be rendered, but if I write the label text You can add text annotations in the code without using Qt's dialog box for input.
What you have tried:
I tried to use non-blocking dialog boxes, lineedit and other components, but they had no effect. I tried to use the slot function to process it in the widget instead of the guieventhandeler, but it still had no effect. Later, I added the annotation first and then modified it by inputting the text. method to solve it, but the modification was not successful. However, through the code gettext, I found that the text had been modified but was not rendered. I suspected that there was a conflict in the rendering logic and I didn't know how to modify it. I hope to get an answer.
I have modified it using the method provided in the osg3.5 documentation,setsmallfeaturecullingPixelsize,setdefaultfboid. Etc not works。
Screenshot, code block, or data file that will help reproduce the issue:
if i not use qinputdialog it works。