在按钮单击插槽中,我创建exec()了一个带有NULL父对话框的对话框.在对话框的构造函数中,我有:
this->activateWindow();
this->raise();
this->setFocus();
Run Code Online (Sandbox Code Playgroud)
该对话框是应用程序模式,具有强烈关注.但是,在我点击之前它不会响应键盘事件.如何使对话框无需点击即可获得焦点?
问题是我正在设置Qt:工具窗口标志.使用Qt :: Popup或Qt :: Window会导致在显示对话框时自动设置输入焦点.
我自己用过Qt :: Window.其他一些标志也可能会起作用,但主要的是当显示对话框时,带有Qt :: Tool标志的QDialog 不会自动设置输入焦点.