zoukankan      html  css  js  c++  java
  • KeyWatcher(按键监控)

     

    添加图片到widget

     

     

     

    //添加图像

    void Beginner::addimg(int num, int x, int y){

        img[num] = new QLabel(this);

        QString name[41] = {

            "1",

            "2",

            "3",

            "4",

            "5",

            "6",

            "7",

            "8",

            "9",

            "0",

            "A",

            "B",

            "C",

            "D",

            "E",

            "F",

            "G",

            "H",

            "I",

            "J",

            "K",

            "L",

            "M",

            "N",

            "O",

            "P",

            "Q",

            "R",

            "S",

            "T",

            "U",

            "V",

            "W",

            "X",

            "Y",

            "Z",

            "Ctrl",

            "LeftShift",

            "RightShift",

            "Enter",

            "Direction"

        };

        img[num]->setPixmap(QPixmap(("imgs/"+name[num]+".jpg")));

        if (num == 37 || num == 38){

            img[num]->setGeometry(QRect(x, y, 83, 34));

        }else if (num == 39){

            img[num]->setGeometry(QRect(x, y, 64, 34));

        }else if (num == 40){

            img[num]->setGeometry(QRect(x, y, 112, 39));

        }else{

            img[num]->setGeometry(QRect(x, y, 35, 34));

        }

    }

     

    //添加所有图像

    void Beginner::addimgs(){

        int currentHeight = 50;

        int row = 0;

        if (key[40]){

            addimg(40, 15, currentHeight);

            currentHeight += 45;

        }

        for (int i = 37; i < 40; i++){

            if (key[i]){

                addimg(i, 15, currentHeight);

                currentHeight += 40;

            }

        }

        for (int j = 0; j < 37; j++){

            if (key[j]){

                if (row == 3){

                    row = 0;

                    currentHeight += 40;

                    addimg(j, 15, currentHeight);

                }else{

                    addimg(j, 15 + 40 * row, currentHeight);

                    row++;

                }

            }

        }

    }

     

    //添加标签

    void Beginner::addlabel(int num, int x, int y){

        label[num] = new QLabel(this);

        QString name[44] = {

            "1",

            "2",

            "3",

            "4",

            "5",

            "6",

            "7",

            "8",

            "9",

            "0",

            "A",

            "B",

            "C",

            "D",

            "E",

            "F",

            "G",

            "H",

            "I",

            "J",

            "K",

            "L",

            "M",

            "N",

            "O",

            "P",

            "Q",

            "R",

            "S",

            "T",

            "U",

            "V",

            "W",

            "X",

            "Y",

            "Z",

            "Ctrl",

            "左Shift",

            "右Shift",

            "回车",

            "上键",

            "下键",

            "左键",

            "右键"

        };

        label[num]->setText((name[num]+":0次"));

        label[num]->setGeometry(QRect(x, y, 110, 20));

    }

     

    //添加所有标签

    void Beginner::addlabels(){

        int currentHeight = 50;

        currentHeight += 40 * ((linenum + 2) / 3);

        if (key[40]){

            currentHeight += 45;

        }

        currentHeight += 20;

        if (key[40]){

            addlabel(40, 15, currentHeight);

            currentHeight += 20;

            addlabel(41, 15, currentHeight);

            currentHeight += 20;

            addlabel(42, 15, currentHeight);

            currentHeight += 20;

            addlabel(43, 15, currentHeight);

            currentHeight += 20;

        }

        for (int i = 0; i < 40; i++){

            if (key[i]){

                addlabel(i, 15, currentHeight);

                currentHeight += 20;

            }

        }

    }

     

  • 相关阅读:
    简单介绍数据流动的控制
    数据再寄存器中的暂时保存
    八位三态数据通路控制器的逻辑电路设计讲解
    什么是同步有限状态机???
    verilog逻辑复制
    流水线经典讲解!!!!!
    流水线(pipe-line)简介
    总线(BUS)和总线操作
    多路选择器(multiplexer)简介
    使用telnet发送HTTP请求
  • 原文地址:https://www.cnblogs.com/tangyuanjie/p/14304606.html
Copyright © 2011-2022 走看看