QT乱翻书-String-Int
码云
QT乱翻书-String-Int
#ifndef WIDGET_H #define WIDGET_H #includenamespace 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" #includeint main(int argc, char *argv[]) { QApplication a(argc, argv); Widget w; w.show(); return a.exec(); }
#include "widget.h" #include "ui_widget.h" #includeWidget::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>