Qt按钮点击弹出子对话框,然后父窗口不可点击怎么弄

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Qt按钮点击弹出子对话框,然后父窗口不可点击怎么弄相关的知识,希望对你有一定的参考价值。

在对话框show之前加上这一句就行。
dialog>setWindowModality(Qt::ApplicationModal); //设置界面不可点击
dialog->show();
参考技术A 你可以直接使用exec()来显示窗体。
你也可以先setModel(true);然后在show();来显示。

qt for android 怎样弹出键盘

可以通过QApplication的 focusChanged ( QWidget * old, QWidget * now )信号,这样就不再麻烦了。
然后再强制转换下,判断下是不是LineEdit,TextEdit这些。

另外有一个开源的keyBoard是用Qt写的,可以用用,或者借鉴下他怎么获取输入焦点的.
参考技术A Android软键盘强制弹出及隐藏输入法的方法:
很多应用中对于一个界面比如进入搜索界面或者修改信息等等情况,为了用户体验应该自动弹出软键盘而不是让用户主动点击输入框才弹出(因为用户进入该界面必然是为了更改信息)。具体实现这种效果的代码如下:
java代码
EditText editText.setFocusable(true);
editText.setFocusableInTouchMode(true);
editText.requestFocus();
InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);
首先要对指定的输入框请求焦点。然后调用输入管理器弹出软键盘。
警告:对于刚跳到一个新的界面就要弹出软键盘的情况上述代码可能由于界面为加载完全而无法弹出软键盘。此时应该适当的延迟弹出软键盘如998毫秒(保证界面的数据加载完成)。实例代码如下:
java代码:
Timer timer = new Timer();
timer.schedule(new TimerTask()

public void run()

InputMethodManager inputManager =
(InputMethodManager)editText.getContext().getSystemService(Context.INPUT_METHOD_SERVICE);
inputManager.showSoftInput(editText, 0);

,
998);

以上是关于Qt按钮点击弹出子对话框,然后父窗口不可点击怎么弄的主要内容,如果未能解决你的问题,请参考以下文章

QT中父窗口响应子窗口动作

qt for android 怎样弹出键盘

提问:怎样实现点击一个按钮弹出下拉列表

QT开发_弹出窗口禁用父窗口并移动到父窗口中心位置

Unity,NGUI如何像GUI一样,点击按钮后弹出一个窗体呢

提问:js如何弹出子窗口并父窗口不能操作