QT乱翻书-String-Int


 码云

QT乱翻书-String-Int

#ifndef WIDGET_H
#define WIDGET_H

#include 

namespace Ui {
class Widget;
}

class Widget : public QWidget
{
    Q_OBJECT

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

private slots:
    void on_btnCal_clicked();  //计算 按键单击响应

    void on_btnDec_clicked();   //十进制转换为其他进制

    void on_btnBin_clicked();   //二进制转换为其他进制

    void on_btnHex_clicked();   //十六进制转换为其他进制

private:
    Ui::Widget *ui;
};

#endif // WIDGET_H
/********************************************************************************
** Form generated from reading UI file 'widget.ui'
**
** Created by: Qt User Interface Compiler version 5.9.1
**
** WARNING! All changes made in this file will be lost when recompiling UI file!
********************************************************************************/

#ifndef UI_WIDGET_H
#define UI_WIDGET_H

#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 

QT_BEGIN_NAMESPACE

class Ui_Widget
{
public:
    QVBoxLayout *verticalLayout;
    QGridLayout *gridLayout;
    QLineEdit *editNum;
    QLineEdit *editTotal;
    QLabel *label_3;
    QPushButton *btnCal;
    QLabel *label;
    QSpacerItem *horizontalSpacer;
    QLineEdit *editPrice;
    QLabel *label_2;
    QSpacerItem *verticalSpacer;
    QGridLayout *gridLayout_2;
    QLabel *label_6;
    QLineEdit *editDec;
    QPushButton *btnDec;
    QLabel *label_7;
    QLineEdit *editBin;
    QPushButton *btnBin;
    QLabel *label_8;
    QLineEdit *editHex;
    QPushButton *btnHex;

    void setupUi(QWidget *Widget)
    {
        if (Widget->objectName().isEmpty())
            Widget->setObjectName(QStringLiteral("Widget"));
        Widget->resize(330, 189);
        QFont font;
        font.setFamily(QString::fromUtf8("\345\256\213\344\275\223"));
        font.setPointSize(10);
        Widget->setFont(font);
        verticalLayout = new QVBoxLayout(Widget);
        verticalLayout->setSpacing(6);
        verticalLayout->setContentsMargins(11, 11, 11, 11);
        verticalLayout->setObjectName(QStringLiteral("verticalLayout"));
        gridLayout = new QGridLayout();
        gridLayout->setSpacing(6);
        gridLayout->setObjectName(QStringLiteral("gridLayout"));
        editNum = new QLineEdit(Widget);
        editNum->setObjectName(QStringLiteral("editNum"));

        gridLayout->addWidget(editNum, 0, 1, 1, 1);

        editTotal = new QLineEdit(Widget);
        editTotal->setObjectName(QStringLiteral("editTotal"));

        gridLayout->addWidget(editTotal, 1, 4, 1, 1);

        label_3 = new QLabel(Widget);
        label_3->setObjectName(QStringLiteral("label_3"));

        gridLayout->addWidget(label_3, 1, 3, 1, 1);

        btnCal = new QPushButton(Widget);
        btnCal->setObjectName(QStringLiteral("btnCal"));

        gridLayout->addWidget(btnCal, 1, 1, 1, 1);

        label = new QLabel(Widget);
        label->setObjectName(QStringLiteral("label"));

        gridLayout->addWidget(label, 0, 0, 1, 1);

        horizontalSpacer = new QSpacerItem(40, 20, QSizePolicy::Expanding, QSizePolicy::Minimum);

        gridLayout->addItem(horizontalSpacer, 1, 2, 1, 1);

        editPrice = new QLineEdit(Widget);
        editPrice->setObjectName(QStringLiteral("editPrice"));

        gridLayout->addWidget(editPrice, 0, 4, 1, 1);

        label_2 = new QLabel(Widget);
        label_2->setObjectName(QStringLiteral("label_2"));

        gridLayout->addWidget(label_2, 0, 3, 1, 1);


        verticalLayout->addLayout(gridLayout);

        verticalSpacer = new QSpacerItem(20, 40, QSizePolicy::Minimum, QSizePolicy::Expanding);

        verticalLayout->addItem(verticalSpacer);

        gridLayout_2 = new QGridLayout();
        gridLayout_2->setSpacing(6);
        gridLayout_2->setObjectName(QStringLiteral("gridLayout_2"));
        label_6 = new QLabel(Widget);
        label_6->setObjectName(QStringLiteral("label_6"));

        gridLayout_2->addWidget(label_6, 0, 0, 1, 1);

        editDec = new QLineEdit(Widget);
        editDec->setObjectName(QStringLiteral("editDec"));

        gridLayout_2->addWidget(editDec, 0, 1, 1, 1);

        btnDec = new QPushButton(Widget);
        btnDec->setObjectName(QStringLiteral("btnDec"));

        gridLayout_2->addWidget(btnDec, 0, 2, 1, 1);

        label_7 = new QLabel(Widget);
        label_7->setObjectName(QStringLiteral("label_7"));

        gridLayout_2->addWidget(label_7, 1, 0, 1, 1);

        editBin = new QLineEdit(Widget);
        editBin->setObjectName(QStringLiteral("editBin"));

        gridLayout_2->addWidget(editBin, 1, 1, 1, 1);

        btnBin = new QPushButton(Widget);
        btnBin->setObjectName(QStringLiteral("btnBin"));

        gridLayout_2->addWidget(btnBin, 1, 2, 1, 1);

        label_8 = new QLabel(Widget);
        label_8->setObjectName(QStringLiteral("label_8"));

        gridLayout_2->addWidget(label_8, 2, 0, 1, 1);

        editHex = new QLineEdit(Widget);
        editHex->setObjectName(QStringLiteral("editHex"));

        gridLayout_2->addWidget(editHex, 2, 1, 1, 1);

        btnHex = new QPushButton(Widget);
        btnHex->setObjectName(QStringLiteral("btnHex"));

        gridLayout_2->addWidget(btnHex, 2, 2, 1, 1);


        verticalLayout->addLayout(gridLayout_2);


        retranslateUi(Widget);

        QMetaObject::connectSlotsByName(Widget);
    } // setupUi

    void retranslateUi(QWidget *Widget)
    {
        Widget->setWindowTitle(QApplication::translate("Widget", "\345\255\227\347\254\246\344\270\262\344\270\216\350\276\223\345\205\245\350\276\223\345\207\272", Q_NULLPTR));
        editNum->setText(QApplication::translate("Widget", "12", Q_NULLPTR));
        label_3->setText(QApplication::translate("Widget", "\346\200\273 \344\273\267", Q_NULLPTR));
        btnCal->setText(QApplication::translate("Widget", "\350\256\241\347\256\227", Q_NULLPTR));
        label->setText(QApplication::translate("Widget", "\346\225\260 \351\207\217", Q_NULLPTR));
        editPrice->setText(QApplication::translate("Widget", "5.3", Q_NULLPTR));
        label_2->setText(QApplication::translate("Widget", "\345\215\225 \344\273\267", Q_NULLPTR));
        label_6->setText(QApplication::translate("Widget", "\345\215\201 \350\277\233 \345\210\266", Q_NULLPTR));
        editDec->setInputMask(QString());
        editDec->setText(QApplication::translate("Widget", "12", Q_NULLPTR));
        btnDec->setText(QApplication::translate("Widget", "\350\275\254\346\215\242\344\270\272\345\205\266\344\273\226\350\277\233\345\210\266", Q_NULLPTR));
        label_7->setText(QApplication::translate("Widget", "\344\272\214 \350\277\233 \345\210\266", Q_NULLPTR));
        editBin->setInputMask(QString());
        btnBin->setText(QApplication::translate("Widget", "\350\275\254\346\215\242\344\270\272\345\205\266\344\273\226\350\277\233\345\210\266", Q_NULLPTR));
        label_8->setText(QApplication::translate("Widget", "\345\215\201\345\205\255\350\277\233\345\210\266", Q_NULLPTR));
        editHex->setInputMask(QString());
        btnHex->setText(QApplication::translate("Widget", "\350\275\254\346\215\242\344\270\272\345\205\266\344\273\226\350\277\233\345\210\266", Q_NULLPTR));
    } // retranslateUi

};

namespace Ui {
    class Widget: public Ui_Widget {};
} // namespace Ui

QT_END_NAMESPACE

#endif // UI_WIDGET_H
#include "widget.h"
#include 

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

    return a.exec();
}
#include "widget.h"
#include "ui_widget.h"
#include    

Widget::Widget(QWidget *parent) :
    QWidget(parent),
    ui(new Ui::Widget)
{
    ui->setupUi(this);
}

Widget::~Widget()
{
    delete ui;
}

void Widget::on_btnCal_clicked()
{ //计算 按键单击响应
    int num=ui->editNum->text().toInt(); //读取字符串为整数
    float price=ui->editPrice->text().toFloat();//读取字符串为浮点数

    float total=num*price;//相乘计算
    QString str;
//    str=str.setNum(total,'f',2); //浮点数2位小数
    str=str.sprintf("%.2f",total); //格式化输出浮点数
    ui->editTotal->setText(str);//在文本框里显示
}

void Widget::on_btnDec_clicked()
{ //读取十进制数,转换为其他进制
    int val=ui->editDec->text().toInt();//读取十进制数
    QString str=QString::number(val,16);// 显示为16进制 的字符串

    str=str.toUpper(); //转换为全大写字母
    ui->editHex->setText(str);//显示16进制字符串

    str=QString::number(val,2);// 显示2进制的字符串
    ui->editBin->setText(str);//显示二进制字符串
}

void Widget::on_btnBin_clicked()
{ //读取二进制数,转换为其他进制的数
    bool ok;

    int val=ui->editBin->text().toInt(&ok,2);//以二进制数读入

    QString str=QString::number(val,10);//数字显示为10进制字符串
    ui->editDec->setText(str);//显示10进制数字符串

    str=QString::number(val,16);//显示为十六进制字符串
    str=str.toUpper(); //全大写字母
    ui->editHex->setText(str);//显示十六进制字符串
}

void Widget::on_btnHex_clicked()
{//读取16进制数,转换为其他进制的数
    bool ok;

    int val=ui->editHex->text().toInt(&ok,16);//以十六进制数读入
    QString str=QString::number(val,10);// 显示为10进制字符串
    ui->editDec->setText(str);//显示为10进制字符串

    str=QString::number(val,2);// 显示二进制字符串
    ui->editBin->setText(str);//显示二进制字符串
}
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
 <class>Widgetclass>
 <widget class="QWidget" name="Widget">
  <property name="geometry">
   <rect>
    <x>0x>
    <y>0y>
    <width>362width>
    <height>248height>
   rect>
  property>
  <property name="font">
   <font>
    <family>宋体family>
    <pointsize>10pointsize>
   font>
  property>
  <property name="windowTitle">
   <string>字符串与输入输出string>
  property>
  <layout class="QGridLayout" name="gridLayout">
   <item row="1" column="5">
    <widget class="QLineEdit" name="editTotal"/>
   item>
   <item row="0" column="1" colspan="2">
    <widget class="QLineEdit" name="editNum">
     <property name="text">
      <string>12string>
     property>
    widget>
   item>
   <item row="2" column="0">
    <spacer name="verticalSpacer">
     <property name="orientation">
      <enum>Qt::Verticalenum>
     property>
     <property name="sizeHint" stdset="0">
      <size>
       <width>20width>
       <height>40height>
      size>
     property>
    spacer>
   item>
   <item row="1" column="0" colspan="2">
    <widget class="QPushButton" name="btnCal">
     <property name="text">
      <string>计算string>
     property>
    widget>
   item>
   <item row="1" column="4">
    <widget class="QLabel" name="label_3">
     <property name="text">
      <string>总 价string>
     property>
    widget>
   item>
   <item row="0" column="5">
    <widget class="QLineEdit" name="editPrice">
     <property name="text">
      <string>5.3string>
     property>
    widget>
   item>
   <item row="0" column="4">
    <widget class="QLabel" name="label_2">
     <property name="text">
      <string>单 价string>
     property>
    widget>
   item>
   <item row="0" column="0">
    <widget class="QLabel" name="label">
     <property name="text">
      <string>数 量string>
     property>
    widget>
   item>
   <item row="3" column="0" colspan="6">
    <layout class="QGridLayout" name="gridLayout_2">
     <item row="0" column="0">
      <widget class="QLabel" name="label_6">
       <property name="text">
        <string>十 进 制string>
       property>
      widget>
     item>
     <item row="0" column="1">
      <widget class="QLineEdit" name="editDec">
       <property name="inputMask">
        <string/>
       property>
       <property name="text">
        <string>12string>
       property>
      widget>
     item>
     <item row="0" column="2">
      <widget class="QPushButton" name="btnDec">
       <property name="text">
        <string>转换为其他进制string>
       property>
      widget>
     item>
     <item row="1" column="0">
      <widget class="QLabel" name="label_7">
       <property name="text">
        <string>二 进 制string>
       property>
      widget>
     item>
     <item row="1" column="1">
      <widget class="QLineEdit" name="editBin">
       <property name="inputMask">
        <string/>
       property>
      widget>
     item>
     <item row="1" column="2">
      <widget class="QPushButton" name="btnBin">
       <property name="text">
        <string>转换为其他进制string>
       property>
      widget>
     item>
     <item row="2" column="0">
      <widget class="QLabel" name="label_8">
       <property name="text">
        <string>十六进制string>
       property>
      widget>
     item>
     <item row="2" column="1">
      <widget class="QLineEdit" name="editHex">
       <property name="inputMask">
        <string/>
       property>
      widget>
     item>
     <item row="2" column="2">
      <widget class="QPushButton" name="btnHex">
       <property name="text">
        <string>转换为其他进制string>
       property>
      widget>
     item>
    layout>
   item>
   <item row="0" column="3">
    <spacer name="horizontalSpacer">
     <property name="orientation">
      <enum>Qt::Horizontalenum>
     property>
     <property name="sizeHint" stdset="0">
      <size>
       <width>66width>
       <height>20height>
      size>
     property>
    spacer>
   item>
  layout>
 widget>
 <layoutdefault spacing="6" margin="11"/>
 <resources/>
 <connections/>
ui>
QT