Qt中调用一个QLabel的close()返回的是true但是框体没关掉

程序主体是一个继承QWidget的自定义类,在这个类里面调用用了继承自QLabel的softKeyboard类,在switchSoftKeyBoardInput()槽里面... 程序主体是一个继承QWidget的自定义类,在这个类里面调用用了继承自QLabel的softKeyboard类,在switchSoftKeyBoardInput()槽里面调用了close()返回的是true但是QLabel的窗体没关掉,是为什么啊,求大神解释。
void mainWidget::switchSoftKeyBoardInput(){
keyboard=new softKeyboard(this);
if(!isSolfKeyboardOpen)
{
qDebug()<<"1";
keyboard->show();
isSolfKeyboardOpen=true;
}
else
{
qDebug()<<"2";
qDebug()<<keyboard->close();
isSolfKeyboardOpen=false;
}
return;
}
展开
 我来答
lgao622
推荐于2016-05-21 · 知道合伙人软件行家
lgao622
知道合伙人软件行家
采纳数:1137 获赞数:6550
毕业于武汉工程大学邮电与信息工程学院通信专业,软件行业,4年工作经验。

向TA提问 私信TA
展开全部
keyboard=new softKeyboard(this); 在函数开头,当每次调用switchSoftKeyBoardInput(),keyboard 会再生成一个键盘。你关闭的是新生成的,而不是上一次生成的。
可以要把这一句放到构造函数中。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式