qt对于库中frame控件的调用

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

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

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);//显示全键盘;