QT制作字符ASCII转换工具和源码

QT制作字符ASCII转换工具和源码。

widget.cpp代码如下

#include "widget.h"
#include <QObject>


Widget::Widget(QWidget *parent)
    : QWidget(parent)
{
    this->resize(600, 300);
    this->setFixedSize(600, 300);
    this->setWindowTitle("ASCII CONVERT");

    In_Lable.setParent(this);              //放进窗口
    In_Lable.resize(200,50);               //设置按钮大小
    In_Lable.setText("请输入字符");
    In_Lable.move(0,0);                    //移动按钮

    Out_Dec_Lable.setParent(this);         //放进窗口
    Out_Dec_Lable.resize(200,50);          //设置按钮大小
    Out_Dec_Lable.setText("Dec");
    Out_Dec_Lable.move(200,0);             //移动按钮

    Out_Hex_Lable.setParent(this);         //放进窗口
    Out_Hex_Lable.resize(200,50);          //设置按钮大小
    Out_Hex_Lable.setText("Hex");
    Out_Hex_Lable.move(400,0);             //移动按钮

    In_Edit.setParent(this);               //放进窗口
    In_Edit.resize(200,200);               //设置按钮大小
    In_Edit.move(0,50);                    //移动按钮

    Out_Dec_Edit.setParent(this);        //放进窗口
    Out_Dec_Edit.resize(200,200);        //设置按钮大小
    Out_Dec_Edit.move(200,50);           //移动按钮

    Out_Hex_Edit.setParent(this);       //放进窗口
    Out_Hex_Edit.resize(200,200);       //设置按钮大小
    Out_Hex_Edit.move(400,50);           //移动按钮

    Get_Button.setParent(this);     //放进窗口
    Get_Button.setText("确定");    //设置按钮文字
    Get_Button.resize(200,50);      //设置按钮大小
    Get_Button.move(0,250);         //移动按钮

    Example_Button.setParent(this);        //放进窗口
    Example_Button.setText("例子");         //设置按钮文字
    Example_Button.resize(200,50);         //设置按钮大小
    Example_Button.move(200,250);          //移动按钮

    Clear_Button.setParent(this);        //放进窗口
    Clear_Button.setText("清除");         //设置按钮文字
    Clear_Button.resize(200,50);         //设置按钮大小
    Clear_Button.move(400,250);          //移动按钮

    connect(&Get_Button, &QPushButton::clicked, this, &Widget::Get_Button_clicked);
    connect(&Example_Button, &QPushButton::clicked, this, &Widget::Example_Button_clicked);
    connect(&Clear_Button, &QPushButton::clicked, this, &Widget::Clear_clicked);

    connect(&In_Edit, &QTextEdit::textChanged, this, &Widget::In_Edit_clicked);
}

Widget::~Widget()
{

}

Widget::In_Edit_clicked()
{
    QString last = In_Edit.toPlainText();
    if(last.length() > 1)
    {
        In_Edit.clear();
        last = last.at(last.length() - 1);
        In_Edit.append(last);
        Get_Button_clicked();
    }
    else if(last.length() == 1)
    {
        Get_Button_clicked();
    }
    return 0;
}

Widget::Example_Button_clicked()
{
    Clear_clicked();
    In_Edit.append("A");
    Get_Button_clicked();
    return 0;
}


Widget::Get_Button_clicked()
{
    QString input_string = In_Edit.toPlainText();
    int random;
    if(input_string.length() > 0)
    {
        random = input_string.at(0).toLatin1();

        QString Out_Hex_Str = QString::number(random, 16);
        Out_Hex_Edit.setText(Out_Hex_Str);

        QString Out_Dec_Str = QString::number(random, 10);
        Out_Dec_Edit.setText(Out_Dec_Str);
    }
    else
    {
        In_Edit.append("请输入字符");
    }
    return 0;
}

Widget::Clear_clicked()
{
    In_Edit.clear();
    Out_Hex_Edit.clear();
    Out_Dec_Edit.clear();
    return 0;
}


widget.h代码如下

#ifndef WIDGET_H
#define WIDGET_H

#include <QWidget>
#include <QtWidgets/QPushButton>
#include <QtWidgets/QTextEdit>
#include <QLabel>

class Widget : public QWidget
{
    Q_OBJECT

public:
    Widget(QWidget *parent = 0);
    ~Widget();

    QLabel In_Lable;
    QLabel Out_Dec_Lable;
    QLabel Out_Hex_Lable;

    QTextEdit In_Edit;
    QTextEdit Out_Dec_Edit;
    QTextEdit Out_Hex_Edit;

    QPushButton Get_Button;
    QPushButton Example_Button;
    QPushButton Clear_Button;

    Get_Button_clicked();
    Example_Button_clicked();
    Clear_clicked();
    In_Edit_clicked();
};

#endif // WIDGET_H

main.cpp代码如下

#include "widget.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    Widget w;
    w.show();

    return a.exec();
}

代码运行如下

 输入字符

源码链接:跳转链接

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值