weixin_43702352
江上舟摇
采纳率80%
2019-07-04 10:25

qt对于库中frame控件的调用

20
已采纳

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

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

1条回答

  • qtchen_1988 qtchen_1988 2年前

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

    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);//显示全键盘;
    
    点赞 1 评论 复制链接分享

为你推荐