• 4439阅读
  • 1回复

请教关于窗口没有focus的问题 [复制链接]

上一主题 下一主题
离线xujijia1985
 
只看楼主 倒序阅读 楼主  发表于: 2010-12-29
由于代码很多不便帖上来,简述如下:
窗口A调用一个函数弹出窗口B,但是窗口B上找不到focus
如果按两下Alt+Tab键(即先切到别的界面再切回来),窗口B就有focus了。
试过在窗口B中的一个控件,如QLineEdit,设置它的setFocus();  结果还是一样,窗口B没有得到focus
另外在按键出加入打印信息,窗口A和窗口B都加了。发现A窗口的在执行(现在的界面的窗口B,还focus在A上啊)
请问,该如何操作才能正常的focus到窗口B上啊。
离线xujijia1985
只看该作者 1楼 发表于: 2010-12-29
// Set equipment name
    else if(qLineEditEquipmentName->hasFocus()&& bluetooth->isChecked())
    {
        // Initial title and name
        QString title = "Equitment Name:";
        QString name = "N72";
        bluetooth->setFocusPolicy(Qt::NoFocus);//bluetooth是一个QCheckBox*
        IRAYMainWidget::the()->addScreen( new IRAYSoftKeyboard(title, name,
                            this, SLOT(UpdateBluetoothName(QString))), true );
        bluetooth->setFocus();
    }
这个是窗口A弹出窗口B的部分,addScreen()函数是用来添加一个显示窗口B的。
如果不要最下面一句bluetooth->setFocus();在窗口B中是正常的,可以运行完后回到窗口A,A上就没有focus了!!
如何做到在A转到窗口B的时候,B有focus,再从B窗口转到A的时候,A有focus啊?
快速回复
限100 字节
 
上一个 下一个