QT软键盘制作(非UI设计师界面)

2019年12月21日10点25分: 有最新的。。  这个是刚学时候的demo  201811月写了一款公司用的 感觉很还可以,有空闲时间会再写一篇博客,这个算是练手的,适合新手理解流程?  注  QT版本 4.8.6

刚接触QT,老大让我做一个软键盘,前面根据QT自带的Example改写了一个,无奈是用UI设计师拖出来的界面不过关,于是痛定思痛,又做了一个,界面全靠手打的说,可以切换键盘与数字,不说了上图:

这是开始画面,点击就会弹出键盘

 这是弹出的字母键盘,很丑我知道
 这是切换的数字键盘 我知道丑。。
 
 
本人初学者哦。请轻喷。下面说代码
loain.h
#ifndef LOAIN_H
#define LOAIN_H

#include <QtCore/QVariant>
#include <QAction>
#include <QApplication>
#include <QButtonGroup>
#include <QHeaderView>
#include <QLabel>
#include <QLineEdit>
#include <QPushButton>
#include <QWidget>


class loain: public QWidget
{
    Q_OBJECT
public:
    QLabel *label;
    QLineEdit *lineEdit;
    QPushButton *pushButton;
    void setupUi(QWidget *import);

};

#endif // LOAIN_H
loain.app
#include "loain.h"


void loain::setupUi(QWidget *import)
{
    import->setGeometry(300,300,300,100);

    label = new QLabel(import);
    label->setGeometry(10,10,100,20);
    label->setText(tr("please input:"));

    lineEdit = new QLineEdit(import);
    lineEdit->setGeometry(100,10,100,20);

    pushButton = new QPushButton(import);
    pushButton->setText("close");
    pushButton->setGeometry(200,60,60,30);
    connect(pushButton,SIGNAL(clicked()),import,SLOT(close()));
}
这一段没有什么特别的,就是建立了一个开始的窗口,一个LineEdit输入文档。
 
     keyboard.h
#ifndef KEYBOARD_H
#define KEYBOARD_H

#include <QWidget>
#include <QPushButton>
#include <QLineEdit>
#include <QFormLayout>
#include <QStackedWidget>
#include <QObject>
#include <Qt>
#include <QButtonGroup>
#include <QMetaObject>

class keyboard: public QWidget
{
    Q_OBJECT
public:
    QStackedWidget *my_stackedWidget;
    QWidget *window_alp;

    QButtonGroup *buttonGroup_alp;

    QPushButton *button_Q;
    QPushButton *button_W;
    QPushButton *button_E;
    QPushButton *button_R;
    QPushButton *button_T;
    QPushButton *button_Y;
    QPushButton *button_U;
    QPushButton *button_I;
    QPushButton *button_O;
    QPushButton *button_P;
    QPushButton *button_A;
    QPushButton *button_S;
    QPushButton *button_D;
    QPushButton *button_F;
    QPushButton *button_G;
    QPushButton *button_H;
    QPushButton *button_J;
    QPushButton *button_K;
    QPushButton *button_L;
    QPushButton *button_Z;
    QPushButton *button_X;
    QPushButton *button_C;
    QPushButton *button_V;
    QPushButton *button_B;
    QPushButton *button_N;
    QPushButton *button_M;
    QPushButton *button_blank;
    QPushButton *button_delete;
    QPushButton *button_nu;
    QPushButton *button_close;

    QWidget *window_nu;


    QPushButton *button_1;
    QPushButton *button_2;
    QPushButton *button_3;
    QPushButton *button_4;
    QPushButton *button_5;
    QPushButton *button_6;
    QPushButton *button_7;
    QPushButton *button_8;
    QPushButton *button_9;
    QPushButton *button_0;
    QPushButton *button_letter;
    QPushButton *button_blank_2;
    QPushButton *button_delete_2;
    QPushButton *button_close_2;

    void setupUi(QWidget *keyboard_interface);
private slots:
    void switchPage();
};

#endif // KEYBOARD_H


keyboard.app
#include "keyboard.h"
#include <QDebug>


void keyboard::setupUi(QWidget *keyboard_interface)
{
    keyboard_interface->setGeometry(100,100,850,250);
    my_stackedWidget = new QStackedWidget(keyboard_interface);//new一个stackedwidget,翻页用,因为要切换页面的嘛
    window_alp = new QWidget(my_stackedWidget);//new一个界面,当字母键盘界面

    button_Q = new QPushButton("Q",window_alp);
    button_W = new QPushButton("W",window_alp);
    button_E = new QPushButton("E",window_alp);
    button_R = new QPushButton("R",window_alp);
    button_T = new QPushButton("T",window_alp);
    button_Y = new QPushButton("Y",window_alp);
    button_U = new QPushButton("U",window_alp);
    button_I = new QPushButton("I",window_alp);
    button_O = new QPushButton("O",window_alp);
    button_P = new QPushButton("P",window_alp);
    button_A = new QPushButton("A",window_alp);
    button_S = new QPushButton("S",window_alp);
    button_D = new QPushButton("D",window_alp);
    button_F = new QPushButton("F",window_alp);
    button_G = new QPushButton("G",window_alp);
    button_H = new QPushButton("H",window_alp);
    button_J = new QPushButton("J",window_alp);
    button_K = new QPushButton("K",window_alp);
    button_L = new QPushButton("L",window_alp);
    button_Z = new QPushButton("Z",window_alp);
    button_X = new QPushButton("X",window_alp);
    button_C = new QPushButton("C",window_alp);
    button_V = new QPushButton("V",window_alp);
  
  • 3
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 13
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 13
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值