江上舟摇 2019-07-04 10:25 采纳率: 0%
浏览 1360
已采纳

qt对于库中frame控件的调用

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

  • 写回答

1条回答 默认 最新

  • qtchen_1988 2019-07-04 11:33
    关注

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

    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);//显示全键盘;
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器