没有窗口管理器的QDialog焦点

我正在开发一个触摸屏亭应用程序,并且在设置qdialog时遇到问题。

当显示对话框时,它不是焦点,我必须首先按下对话框内的某个位置,然后才能按下对话框中的按钮。 我设置对话框标志Qt :: Dialog | Qt的:: FramelessWindowHint。 我试着重写对话框showEvent并使用setFocus,activateWindow和grabKeyboard方法,但没有任何工作。 但是,如果我插入鼠标,我可以轻敲我想要的按钮,而无需先点击对话框。 当鼠标悬停时,对话似乎变得焦点了。 我也有一个QMessageBox显示正常,没有焦点问题。

我的窗户是放置在MainWinow内部的堆叠小部件的孩子。 该窗口被设置为对话框的父窗口,但对话框显示方法是从QItemDelegate调用的,该窗口在放置在该窗口内的QListView上设置。

我用'startx / etc / X11 / Xsesion path / to / my / app - -nocursor'来启动应用程序。 我正在使用额外的'xinit','xserver-xorg-legacy'和'x11-xserver-utils'软件包在ubuntu 16.04 x64上运行应用程序。

链接地址: http://www.djcxy.com/p/6691.html

上一篇: QDialog focus without window manager

下一篇: Setting text input focus within a QWebView