为什么QListWidget的拖放功能会与QLineEdit中的焦点信号混淆?

时间:2018-11-26 12:18:45

标签: c++ qt embedded-linux

我的应用程序包含两个不同的功能。第一个是具有拖放功能的QListWidget(未子类化),基本上显示了一些可以重新排序的图标。第二个是自定义QLineEdit控件,我通过该控件实现了一些自定义焦点信号,以激活虚拟键盘。

当我运行该应用程序的桌面版本时,一切都会按预期运行,但是当我在嵌入式Linux设备(一台iMX7平板电脑)上运行它时,就会发生一些奇怪的事情:

重新排列QListWidget中的项目后,得到消息:

  

“此插件不支持setParent!”

然后我的自定义 QLineEdit控件停止注册对信号的关注,以便激活虚拟键盘

我对该主题进行了一些研究,但没有获得很多见识。同样通过搜索Qt源树,我发现生成此警告消息的唯一位置是在QPlatformWindow类中,这意味着与QPA有关。

我尚未包括任何源代码,因为我真的不知道会有什么帮助。只是几个指针;由于我不希望在设备上使用X系统,因此我正在使用直接写入Linux帧缓冲区(linuxfb)来运行嵌入式应用程序。同样在该消息之前,我收到了一堆

  

未知系统光标19

消息。 Qt版本在台式机上为5.9,在设备上为5.5,但似乎没有任何影响(至少到现在为止)。

您对此问题有任何建议或想法吗?如果您需要任何代码段来澄清问题,请提出要求。

更新:我确认问题仍然存在于常规的QLineEdit控件中,而不是子类。因此,在列表中拖放后,QLineEdit无法通过触摸或鼠标单击获得焦点。

0 个答案:

没有答案