qt对于库中frame控件的调用

图片说明我的库文件的ui界面是两个键盘(把小键盘称为数字键盘,大键盘称为全键盘)。图片说明然后是现在编写的程序(由三个lineedit和一个frame组成)图片说明我想实现的就是点击不同的lineedit调用出不同的键盘。给lineedit添加click事件我会写。但是怎么确定调用哪个键盘啊。比如点击“输入Int类型的值“,出现数字键盘;点击”输入String类型的值“,出现全键盘。

c++

1个回答

假设你调用的库中有个枚举类型

enum E_KEY_TYPE
{
    E_KEY_INT,
    E_KEY_STRING,
    E_KEY_INVALID
};

然后假设你库类名为KeyboardView,并有这样一个接口

void KeyboardView::showKey(E_KEY_TYPE type)
{
    switch (type) {
    case E_KEY_INT:
    {
        ui->key_int->show();//key_int为你的数字键盘
        ui->key_string->hide();//key_string为你的全键盘
    }
        break;
    case E_KEY_STRING:
    {
        ui->key_int->hide();
        ui->key_string->show();
    }
        break;
    default:
    {
        ui->key_int->hide();
        ui->key_string->hide();
    }
        break;
    }

}

在你测试工程里调用;

KeyboardView kbView;
kbView.showKey(E_KEY_INT);//显示数字键盘;

kbView.showKey(E_KEY_STRING);//显示全键盘;
qtchen_1988
qtchen_1988 回复江上舟摇: 是的,已经收到,谢谢!
9 个月之前 回复
weixin_43702352
江上舟摇 采纳后,悬赏是不是就自动给您了啊?还是需要我另行操作。
9 个月之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问