• 实现简单的计算器(设计UI)


    要点说明:

    1、一个textedit控件,其余全部是button控件,button布局方式:栅格布局(Grid layout)

    2、对窗体的Title进行修改(默认是工程名)

    3、在ui文件中设计的UI,编译器会自动创建一个类,在这个类的创建依据就是在用户自定义的类中说明的:

    通过ctrl+鼠标左键可以查看生成的类的详细情况:

      1 /********************************************************************************
      2 ** Form generated from reading UI file 'dialog.ui'
      3 **
      4 ** Created by: Qt User Interface Compiler version 5.12.3
      5 **
      6 ** WARNING! All changes made in this file will be lost when recompiling UI file!
      7 ********************************************************************************/
      8 
      9 #ifndef UI_DIALOG_H
     10 #define UI_DIALOG_H
     11 
     12 #include <QtCore/QVariant>
     13 #include <QtWidgets/QApplication>
     14 #include <QtWidgets/QDialog>
     15 #include <QtWidgets/QGridLayout>
     16 #include <QtWidgets/QLabel>
     17 #include <QtWidgets/QPushButton>
     18 #include <QtWidgets/QVBoxLayout>
     19 
     20 QT_BEGIN_NAMESPACE
     21 
     22 class Ui_Dialog
     23 {
     24 public:
     25     QVBoxLayout *verticalLayout;
     26     QLabel *lab_display;
     27     QGridLayout *gridLayout;
     28     QPushButton *btn_7;
     29     QPushButton *btn_8;
     30     QPushButton *btn_9;
     31     QPushButton *btn_add;
     32     QPushButton *btn_4;
     33     QPushButton *btn_5;
     34     QPushButton *btn_6;
     35     QPushButton *btn_dec;
     36     QPushButton *btn_1;
     37     QPushButton *btn_2;
     38     QPushButton *btn_3;
     39     QPushButton *btn_mult;
     40     QPushButton *btn_c;
     41     QPushButton *btn_0;
     42     QPushButton *btn_eq;
     43     QPushButton *btn_div;
     44 
     45     void setupUi(QDialog *Dialog)
     46     {
     47         if (Dialog->objectName().isEmpty())
     48             Dialog->setObjectName(QString::fromUtf8("Dialog"));
     49         Dialog->resize(338, 334);
     50         verticalLayout = new QVBoxLayout(Dialog);
     51         verticalLayout->setSpacing(6);
     52         verticalLayout->setContentsMargins(11, 11, 11, 11);
     53         verticalLayout->setObjectName(QString::fromUtf8("verticalLayout"));
     54         lab_display = new QLabel(Dialog);
     55         lab_display->setObjectName(QString::fromUtf8("lab_display"));
     56         lab_display->setStyleSheet(QString::fromUtf8("font: 24pt "Algerian";
    "
     57 "background-color: rgb(190, 190, 255);"));
     58         lab_display->setAlignment(Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter);
     59 
     60         verticalLayout->addWidget(lab_display);
     61 
     62         gridLayout = new QGridLayout();
     63         gridLayout->setSpacing(6);
     64         gridLayout->setObjectName(QString::fromUtf8("gridLayout"));
     65         btn_7 = new QPushButton(Dialog);
     66         btn_7->setObjectName(QString::fromUtf8("btn_7"));
     67         QSizePolicy sizePolicy(QSizePolicy::Minimum, QSizePolicy::Expanding);
     68         sizePolicy.setHorizontalStretch(0);
     69         sizePolicy.setVerticalStretch(0);
     70         sizePolicy.setHeightForWidth(btn_7->sizePolicy().hasHeightForWidth());
     71         btn_7->setSizePolicy(sizePolicy);
     72 
     73         gridLayout->addWidget(btn_7, 0, 0, 1, 1);
     74 
     75         btn_8 = new QPushButton(Dialog);
     76         btn_8->setObjectName(QString::fromUtf8("btn_8"));
     77         sizePolicy.setHeightForWidth(btn_8->sizePolicy().hasHeightForWidth());
     78         btn_8->setSizePolicy(sizePolicy);
     79 
     80         gridLayout->addWidget(btn_8, 0, 1, 1, 1);
     81 
     82         btn_9 = new QPushButton(Dialog);
     83         btn_9->setObjectName(QString::fromUtf8("btn_9"));
     84         sizePolicy.setHeightForWidth(btn_9->sizePolicy().hasHeightForWidth());
     85         btn_9->setSizePolicy(sizePolicy);
     86 
     87         gridLayout->addWidget(btn_9, 0, 2, 1, 1);
     88 
     89         btn_add = new QPushButton(Dialog);
     90         btn_add->setObjectName(QString::fromUtf8("btn_add"));
     91         sizePolicy.setHeightForWidth(btn_add->sizePolicy().hasHeightForWidth());
     92         btn_add->setSizePolicy(sizePolicy);
     93 
     94         gridLayout->addWidget(btn_add, 0, 3, 1, 1);
     95 
     96         btn_4 = new QPushButton(Dialog);
     97         btn_4->setObjectName(QString::fromUtf8("btn_4"));
     98         sizePolicy.setHeightForWidth(btn_4->sizePolicy().hasHeightForWidth());
     99         btn_4->setSizePolicy(sizePolicy);
    100 
    101         gridLayout->addWidget(btn_4, 1, 0, 1, 1);
    102 
    103         btn_5 = new QPushButton(Dialog);
    104         btn_5->setObjectName(QString::fromUtf8("btn_5"));
    105         sizePolicy.setHeightForWidth(btn_5->sizePolicy().hasHeightForWidth());
    106         btn_5->setSizePolicy(sizePolicy);
    107 
    108         gridLayout->addWidget(btn_5, 1, 1, 1, 1);
    109 
    110         btn_6 = new QPushButton(Dialog);
    111         btn_6->setObjectName(QString::fromUtf8("btn_6"));
    112         sizePolicy.setHeightForWidth(btn_6->sizePolicy().hasHeightForWidth());
    113         btn_6->setSizePolicy(sizePolicy);
    114 
    115         gridLayout->addWidget(btn_6, 1, 2, 1, 1);
    116 
    117         btn_dec = new QPushButton(Dialog);
    118         btn_dec->setObjectName(QString::fromUtf8("btn_dec"));
    119         sizePolicy.setHeightForWidth(btn_dec->sizePolicy().hasHeightForWidth());
    120         btn_dec->setSizePolicy(sizePolicy);
    121 
    122         gridLayout->addWidget(btn_dec, 1, 3, 1, 1);
    123 
    124         btn_1 = new QPushButton(Dialog);
    125         btn_1->setObjectName(QString::fromUtf8("btn_1"));
    126         sizePolicy.setHeightForWidth(btn_1->sizePolicy().hasHeightForWidth());
    127         btn_1->setSizePolicy(sizePolicy);
    128 
    129         gridLayout->addWidget(btn_1, 2, 0, 1, 1);
    130 
    131         btn_2 = new QPushButton(Dialog);
    132         btn_2->setObjectName(QString::fromUtf8("btn_2"));
    133         sizePolicy.setHeightForWidth(btn_2->sizePolicy().hasHeightForWidth());
    134         btn_2->setSizePolicy(sizePolicy);
    135 
    136         gridLayout->addWidget(btn_2, 2, 1, 1, 1);
    137 
    138         btn_3 = new QPushButton(Dialog);
    139         btn_3->setObjectName(QString::fromUtf8("btn_3"));
    140         sizePolicy.setHeightForWidth(btn_3->sizePolicy().hasHeightForWidth());
    141         btn_3->setSizePolicy(sizePolicy);
    142 
    143         gridLayout->addWidget(btn_3, 2, 2, 1, 1);
    144 
    145         btn_mult = new QPushButton(Dialog);
    146         btn_mult->setObjectName(QString::fromUtf8("btn_mult"));
    147         sizePolicy.setHeightForWidth(btn_mult->sizePolicy().hasHeightForWidth());
    148         btn_mult->setSizePolicy(sizePolicy);
    149 
    150         gridLayout->addWidget(btn_mult, 2, 3, 1, 1);
    151 
    152         btn_c = new QPushButton(Dialog);
    153         btn_c->setObjectName(QString::fromUtf8("btn_c"));
    154         sizePolicy.setHeightForWidth(btn_c->sizePolicy().hasHeightForWidth());
    155         btn_c->setSizePolicy(sizePolicy);
    156 
    157         gridLayout->addWidget(btn_c, 3, 0, 1, 1);
    158 
    159         btn_0 = new QPushButton(Dialog);
    160         btn_0->setObjectName(QString::fromUtf8("btn_0"));
    161         sizePolicy.setHeightForWidth(btn_0->sizePolicy().hasHeightForWidth());
    162         btn_0->setSizePolicy(sizePolicy);
    163 
    164         gridLayout->addWidget(btn_0, 3, 1, 1, 1);
    165 
    166         btn_eq = new QPushButton(Dialog);
    167         btn_eq->setObjectName(QString::fromUtf8("btn_eq"));
    168         sizePolicy.setHeightForWidth(btn_eq->sizePolicy().hasHeightForWidth());
    169         btn_eq->setSizePolicy(sizePolicy);
    170 
    171         gridLayout->addWidget(btn_eq, 3, 2, 1, 1);
    172 
    173         btn_div = new QPushButton(Dialog);
    174         btn_div->setObjectName(QString::fromUtf8("btn_div"));
    175         sizePolicy.setHeightForWidth(btn_div->sizePolicy().hasHeightForWidth());
    176         btn_div->setSizePolicy(sizePolicy);
    177 
    178         gridLayout->addWidget(btn_div, 3, 3, 1, 1);
    179 
    180 
    181         verticalLayout->addLayout(gridLayout);
    182 
    183         verticalLayout->setStretch(0, 2);
    184         verticalLayout->setStretch(1, 8);
    185 
    186         retranslateUi(Dialog);
    187 
    188         QMetaObject::connectSlotsByName(Dialog);
    189     } // setupUi
    190 
    191     void retranslateUi(QDialog *Dialog)
    192     {
    193         Dialog->setWindowTitle(QApplication::translate("Dialog", "350256241347256227345231250", nullptr));
    194         lab_display->setText(QApplication::translate("Dialog", "0", nullptr));
    195         btn_7->setText(QApplication::translate("Dialog", "7", nullptr));
    196         btn_8->setText(QApplication::translate("Dialog", "8", nullptr));
    197         btn_9->setText(QApplication::translate("Dialog", "9", nullptr));
    198         btn_add->setText(QApplication::translate("Dialog", "+", nullptr));
    199         btn_4->setText(QApplication::translate("Dialog", "4", nullptr));
    200         btn_5->setText(QApplication::translate("Dialog", "5", nullptr));
    201         btn_6->setText(QApplication::translate("Dialog", "6", nullptr));
    202         btn_dec->setText(QApplication::translate("Dialog", "-", nullptr));
    203         btn_1->setText(QApplication::translate("Dialog", "1", nullptr));
    204         btn_2->setText(QApplication::translate("Dialog", "2", nullptr));
    205         btn_3->setText(QApplication::translate("Dialog", "3", nullptr));
    206         btn_mult->setText(QApplication::translate("Dialog", "*", nullptr));
    207         btn_c->setText(QApplication::translate("Dialog", "C", nullptr));
    208         btn_0->setText(QApplication::translate("Dialog", "0", nullptr));
    209         btn_eq->setText(QApplication::translate("Dialog", "=", nullptr));
    210         btn_div->setText(QApplication::translate("Dialog", "/", nullptr));
    211     } // retranslateUi
    212 
    213 };
    214 
    215 namespace Ui {
    216     class Dialog: public Ui_Dialog {};
    217 } // namespace Ui
    218 
    219 QT_END_NAMESPACE
    220 
    221 #endif // UI_DIALOG_H
    内在的趣味,表面的繁琐
  • 相关阅读:
    shell脚本,通过传入的参数来计算最大值和最小值以及平均值。
    mac date命令
    jstorm系列-2:入门
    jstorm系列-1:入门
    git 如何恢复只是提交到本地的文件(或者commit)
    shell 参数
    shell 运算符
    shell 中的<,<<,>,>>
    shell 学习笔记
    java 多线程剖析
  • 原文地址:https://www.cnblogs.com/data1213/p/10800527.html
Copyright © 2020-2023  润新知