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();
}
代码运行如下
输入字符
源码链接:跳转链接