基于qt5的“依据权重随机选择吃什么”的界面程序

        最近在做界面,感觉现有的QT教程对新手入门不友好啊,讲的全是控件实现的效果,怎么完整写一个工程除了记事本和计算器就没别的了。建议就从计算器入手,自己写一个,就摸出点门道了。

        现学现用一个星期,写的代码自己都感觉超冗杂。尤其是给first、second这些赋值(lineEdit从string转化为int),重复写了好多啊。但是这种全局变量的设置网上的例子是新建一个类,放这些变量,但是网上给这些变量赋值都是直接给的1、2这种,我是要给这些全局变量ui界面上输入lineEdit的数值的,一直不知道怎么搞,就写了好多重复的代码,希望知道的同学告诉我怎么设置,谢谢!

  下面上代码:

mainwindow.h

#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

namespace Ui {
class MainWindow;
}

class MainWindow : public QMainWindow
{
    Q_OBJECT

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


private:
    Ui::MainWindow *ui;
private slots:
   //南区槽声明
   void calSlotsouth();
   /*南区输入权重框(lineEdit)的检查输入框是否输入完毕的信号的声明
    * 从上到下依次对应八种食物*/
   void on_lineEdit_3_editingFinished();
   void on_lineEdit_4_editingFinished();
   void on_lineEdit_7_editingFinished();
   void on_lineEdit_10_editingFinished();
   void on_lineEdit_9_editingFinished();
   void on_lineEdit_8_editingFinished();
   void on_lineEdit_11_editingFinished();
   void on_lineEdit_20_editingFinished();
   //北区槽声明
   void calSlotnorth();
   /*北区输入权重框(lineEdit)的检查输入框是否输入完毕的信号的声明
    * 从上到下依次对应八种食物*/
   void on_lineEdit_12_editingFinished();
   void on_lineEdit_13_editingFinished();
   void on_lineEdit_14_editingFinished();
   void on_lineEdit_17_editingFinished();
   void on_lineEdit_15_editingFinished();
   void on_lineEdit_16_editingFinished();
   void on_lineEdit_18_editingFinished();
   void on_lineEdit_19_editingFinished();
};
#endif // MAINWINDOW_H

mainwindow.cpp

#include "mainwindow.h"
#include "ui_mainwindow.h"
#include <QtGlobal>
#include<QTime>
#include<QDebug>
#include<QMessageBox>

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
    //南区“开始选择”pushButton信号和槽的链接
    QObject::connect(ui->calButtonsouth,SIGNAL(clicked()),this,SLOT(calSlotsouth()));
    //北区“开始选择”pushButton信号和槽的链接
    QObject::connect(ui->calButtonnorth,SIGNAL(clicked()),this,SLOT(calSlotnorth()));
    //南区的权重输入限为0-100的整数
    ui->lineEdit_3->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_4->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_7->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_10->setValidator(new QIntValidator(0,100, this));
    ui->lineEdit_9->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_8->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_11->setValidator(new QIntValidator(0,100, this));
    ui->lineEdit_20->setValidator(new QIntValidator(0,100, this));
    //北区的权重输入限制为0-100的整数
    ui->lineEdit_12->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_13->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_14->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_17->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_15->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_16->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_18->setValidator(new QIntValidator(0, 100, this));
    ui->lineEdit_19->setValidator(new QIntValidator(0, 100, this));
}

MainWindow::~MainWindow()
{
    delete ui;
}
//南区板块的设置
//南区“开始选择”信号槽的定义
void MainWindow::calSlotsouth()
{
    //获取UI界面上lineEdit的值,并转换成int型
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();
    //生成一个0-99之间的随机数
    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    int randValue =qrand()%100;
    qDebug()<<randValue;

    //观察生成的随机数落在下面哪个区间,输出这个区间对应的吃饭的地方
    /*思想就是每个候食物项对应一个区间,设置权重值越大,这个区间就越宽,生成一个随机数,观察这个随机数落在哪个区间,
     * 就输出这个区间对应的候选食物项。这个区间对应的权重值越大,生成的随机数越有可能落在这个区间,对应输出该候选
     * 食物项的概率就越大*/
     if((randValue>0)&&(randValue<(0+southfirst)))
         ui->lineEdit->setText("豌杂面!");
     else if((randValue>(0+southfirst))&&(randValue<(0+southfirst+southsecond)))
         ui->lineEdit->setText("麻辣鲜!");
     else if((randValue>(0+southfirst+southsecond))&&(randValue<(0+southfirst+southsecond+souththird)))
         ui->lineEdit->setText("说一不二冒菜!");
     else if((randValue>(0+southfirst+southsecond+souththird))&&(randValue<(0+southfirst+southsecond+souththird+southfourth)))
         ui->lineEdit->setText("说一不二面条!");
     else if((randValue>(0+southfirst+southsecond+souththird+southfourth))&&(randValue<(0+southfirst+southsecond+souththird+southfourth+southfifth)))
         ui->lineEdit->setText("千味拌饭!");
     else if((randValue>(0+southfirst+southsecond+souththird+southfourth+southfifth))&&(randValue<(0+southfirst+southsecond+souththird+southfourth+southfifth+southsixth)))
         ui->lineEdit->setText("美味之家!");
     else if((randValue>(0+southfirst+southsecond+souththird+southfourth+southfifth+southsixth))&&(randValue<(0+southfirst+southsecond+souththird+southfourth+southfifth+southsixth+southseventh)))
         ui->lineEdit->setText("一食堂!");
     else if((randValue>(0+southfirst+southsecond+souththird+southfourth+southfifth+southsixth+southseventh))&&(randValue<(0+southfirst+southsecond+souththird+southfourth+southfifth+southsixth+southseventh+southeighth)))
         ui->lineEdit->setText("二食堂!");
}

//南区剩余权重设置,每结束一个lineEdit输入,显示剩余权重
void MainWindow::on_lineEdit_3_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}

void MainWindow::on_lineEdit_4_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_7_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_10_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_8_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_9_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_11_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}
void MainWindow::on_lineEdit_20_editingFinished()
{
    int southfirst=ui->lineEdit_3->text().toInt();
    int southsecond=ui->lineEdit_4->text().toInt();
    int souththird=ui->lineEdit_7->text().toInt();
    int southfourth=ui->lineEdit_10->text().toInt();
    int southfifth=ui->lineEdit_9->text().toInt();
    int southsixth=ui->lineEdit_8->text().toInt();
    int southseventh=ui->lineEdit_11->text().toInt();
    int southeighth=ui->lineEdit_20->text().toInt();

    //南区剩余权重的显示
    int leftValueSouth=100-southfirst-southsecond-souththird-southfourth-southfifth-southsixth-southseventh-southeighth;
    ui->lineEdit_2->setText(QString::number(leftValueSouth));
    if(leftValueSouth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_2->setText(QString::number(leftValueSouth));
}

//北区板块的设置
//北区“开始选择”信号槽的定义
//北区跟南区的设置基本一样,代码都差不多,就改变量名字即可
void MainWindow::calSlotnorth()
{
    //获取UI界面上lineEdit的值,并转换成int型
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();
    //生成一个0-99之间的随机数
    qsrand(QTime(0,0,0).secsTo(QTime::currentTime()));
    int randValue =qrand()%100;
    qDebug()<<randValue;

    //观察生成的随机数落在下面哪个区间,输出这个区间对应的吃饭的地方;
     if((randValue>0)&&(randValue<(0+northfirst)))
         ui->lineEdit_5->setText("三顾冒菜!");
     else if((randValue>(0+northfirst))&&(randValue<(0+northfirst+northsecond)))
         ui->lineEdit_5->setText("花甲米线!");
     else if((randValue>(0+northfirst+northsecond))&&(randValue<(0+northfirst+northsecond+norththird)))
         ui->lineEdit_5->setText("骨头饭!");
     else if((randValue>(0+northfirst+northsecond+norththird))&&(randValue<(0+northfirst+northsecond+norththird+northfourth)))
         ui->lineEdit_5->setText("咖喱鸡饭!");
     else if((randValue>(0+northfirst+northsecond+norththird+northfourth))&&(randValue<(0+northfirst+northsecond+norththird+northfourth+northfifth)))
         ui->lineEdit_5->setText("扬州炒饭!");
     else if((randValue>(0+northfirst+northsecond+norththird+northfourth+northfifth))&&(randValue<(0+northfirst+northsecond+norththird+northfourth+northfifth+northsixth)))
         ui->lineEdit_5->setText("石锅拌饭!");
     else if((randValue>(0+northfirst+northsecond+norththird+northfourth+northfifth+northsixth))&&(randValue<(0+northfirst+northsecond+norththird+northfourth+northfifth+northsixth+northseventh)))
         ui->lineEdit_5->setText("东北饺子!");
     else if((randValue>(0+northfirst+northsecond+norththird+northfourth+northfifth+northsixth+northseventh))&&(randValue<(0+northfirst+northsecond+norththird+northfourth+northfifth+northsixth+northseventh+northeighth)))
         ui->lineEdit_5->setText("北区食堂!");
}

//北区剩余权重设置,每结束一个lineEdit输入,显示剩余权重
void MainWindow::on_lineEdit_12_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_13_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_14_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_17_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_15_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_16_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_18_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}
void MainWindow::on_lineEdit_19_editingFinished()
{
    int northfirst=ui->lineEdit_12->text().toInt();
    int northsecond=ui->lineEdit_13->text().toInt();
    int norththird=ui->lineEdit_14->text().toInt();
    int northfourth=ui->lineEdit_17->text().toInt();
    int northfifth=ui->lineEdit_15->text().toInt();
    int northsixth=ui->lineEdit_16->text().toInt();
    int northseventh=ui->lineEdit_18->text().toInt();
    int northeighth=ui->lineEdit_19->text().toInt();

    //北区剩余权重的显示
    int leftValueNorth=100-northfirst-northsecond-norththird-northfourth-northfifth-northsixth-northseventh-northeighth;
    if(leftValueNorth<0)
        QMessageBox::critical(NULL, "警告", "剩余权重分配不足,请检查分配的权重!", QMessageBox::Yes | QMessageBox::No, QMessageBox::Yes);
    else
        ui->lineEdit_6->setText(QString::number(leftValueNorth));
}

main.cpp

#include "mainwindow.h"
#include <QApplication>

int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
    MainWindow w;
    w.setWindowTitle("今天到底吃啥啊?");
    w.show();

    return a.exec();
}

 最后生成的界面如下:



代码里的注释写的比较详细吧, 哎,写的重复的代码好多啊,怎么简化呢?希望知道的同学给点建议,谢谢!

 ps:1、关于最后如何生成图标及如何新建一个发布工程,请参考:点击打开链接,图标就在.pro文件里添一行就行,这里我就不给.pro的代码了;

         2、项目的压缩包的百度云链接:点击打开链接



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值