QT绘制计算器界面

#include 
#include 
#include 
#include 

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    QWidget *widget = new QWidget(NULL, Qt::WindowCloseButtonHint);
    //构建输入框,设置属性
    widget -> setWindowTitle("计算器");
    QLineEdit *edit = new QLineEdit(widget);
    edit->move(10, 10);
    edit->resize(240, 60);
    edit->setReadOnly(true);
    //构造按钮,设置属性
    QPushButton *button[28] = {0};
    const char *buttontext[28] =
    {
        "MC", "MR", "MS", "M+", "M-",
        "CE", "C", "+/-", "(",")",
        "7", "8", "9", "/", "%",
        "4", "5", "6", "*", "1/x",
        "1","2","3","-","=",
        "0",".","+"
    };
    for(int i = 0; i < 4; i++)
    {
        for(int j = 0; j < 5; j++)
        {
            button[5*i + j] = new QPushButton(widget);
            button[5*i + j]->move(10 + (10 + 40)*j, 80 + (10 + 40)*i);
            button[5*i + j]->resize(40, 40);
            button[5*i + j]->setText(buttontext[5*i + j]);
        }
    }
    for(int i = 4,j = 0;j < 4;j++)
    {
        button[5*i + j] = new QPushButton(widget);
        button[5*i + j]->move(10 + (10 + 40)*j, 80 + (10 + 40)*i);
            button[5*i + j]->resize(40, 40);
            button[5*i + j]->setText(buttontext[5*i + j]);
        }
    }
    for(int i = 4,j = 0;j < 4;j++)
    {
        button[5*i + j] = new QPushButton(widget);
        button[5*i + j]->move(10 + (10 + 40)*j, 80 + (10 + 40)*i);
        button[5*i + j]->resize(40, 40);
        button[5*i + j]->setText(buttontext[5*i + j]);

    }
    button[24] = new QPushButton(widget);
    button[24]->move(10 + (10 + 40)*4, 80 + (10 + 40)*4);
    button[24]->resize(40, 87);
    button[24]->setText(buttontext[24]);

    button[25] = new QPushButton(widget);
    button[25]->move(10, 80 + (10 + 40)*5);
    button[25]->resize(87, 40);
    button[25]->setText(buttontext[25]);

    button[26] = new QPushButton(widget);
    button[26]->move(10 + (10 + 40)*2, 80 + (10 + 40)*5);
    button[26]->resize(40, 40);
    button[26]->setText(buttontext[26]);
    button[27] = new QPushButton(widget);
    button[27]->move(10 + (10 + 40)*3, 80 + (10 + 40)*5);
    button[27]->resize(40, 40);
    button[27]->setText(buttontext[27]);

    int ret = 0;
    widget->show();
    widget->setFixedSize(widget->width(), widget->height());

    ret = a.exec();
    delete widget;
    return ret;
}

 运行结果(下右图):

(左图是系统自带的计算器)

QT绘制计算器界面_第1张图片

你可能感兴趣的:(C++)