我的库文件的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);//显示全键盘;