QT day2

打印 上一主题 下一主题

主题 995|帖子 995|积分 2985

1.在注册登录的训练里面,追加一个QListWidget 项目列表
要求:点击注册之后,将账号显示到 listWidget上面去
以及,在listWidget中双击某个账号的时候,将该账号删除
  1. void Widget::on_pushButton_clicked()
  2. {
  3.     QString name = ui->lineEdit->text();
  4.     if (ui->listWidget->findItems(name, Qt::MatchExactly).isEmpty())
  5.     {
  6.         ui->listWidget->addItem(name);
  7.     }
  8. }
  9. void Widget::on_listWidget_itemDoubleClicked(QListWidgetItem *item)
  10. {
  11.     if (item)
  12.     {
  13.         ui->listWidget->takeItem(ui->listWidget->row(item));
  14.         delete item;
  15.     }
  16. }
复制代码
运行效果:

双击删除


2.完成一个计算器,ui界面如下
完成 +-*/计算功能并且在对应位置显示对应的数据

widget.cpp
  1. #include "widget.h"
  2. #include "ui_widget.h"
  3. Widget::Widget(QWidget *parent)
  4.     : QWidget(parent)
  5.     , ui(new Ui::Widget)
  6. {
  7.     ui->setupUi(this);
  8. }
  9. Widget::~Widget()
  10. {
  11.     delete ui;
  12. }
  13. void Widget::on_pushButton_0_clicked()
  14. {
  15. //    if (this->ui->lineEdit->text().isEmpty()){return;}
  16. //    if (this->ui->lineEdit_2->text().isEmpty()){return;}
  17.     if (this->ui->lineEdit_1->text().isEmpty())
  18.     {
  19.         num1 += "0";
  20.         this->ui->lineEdit->setText(num1);
  21.     }
  22.     else
  23.     {
  24.         num2 += "0";
  25.         this->ui->lineEdit_2->setText(num2);
  26.     }
  27. }
  28. void Widget::on_pushButton_1_clicked()
  29. {
  30.     if (this->ui->lineEdit_1->text().isEmpty())
  31.     {
  32.         num1 += "1";
  33.         this->ui->lineEdit->setText(num1);
  34.     }
  35.     else
  36.     {
  37.         num2 += "1";
  38.         this->ui->lineEdit_2->setText(num2);
  39.     }
  40. }
  41. void Widget::on_pushButton_2_clicked()
  42. {
  43.     if (this->ui->lineEdit_1->text().isEmpty())
  44.     {
  45.         num1 += "2";
  46.         this->ui->lineEdit->setText(num1);
  47.     }
  48.     else
  49.     {
  50.         num2 += "2";
  51.         this->ui->lineEdit_2->setText(num2);
  52.     }
  53. }
  54. void Widget::on_pushButton_3_clicked()
  55. {
  56.     if (this->ui->lineEdit_1->text().isEmpty())
  57.     {num1 += "3";
  58.         this->ui->lineEdit->setText(num1);
  59.     }
  60.     else
  61.     {num2 += "3";
  62.         this->ui->lineEdit_2->setText(num2);
  63.     }
  64. }
  65. void Widget::on_pushButton_4_clicked()
  66. {
  67.     if (this->ui->lineEdit_1->text().isEmpty())
  68.     {num1 += "4";
  69.         this->ui->lineEdit->setText(num1);
  70.     }
  71.     else
  72.     {num2 += "4";
  73.         this->ui->lineEdit_2->setText(num2);
  74.     }
  75. }
  76. void Widget::on_pushButton_5_clicked()
  77. {
  78.     if (this->ui->lineEdit_1->text().isEmpty())
  79.     {num1 += "5";
  80.         this->ui->lineEdit->setText(num1);
  81.     }
  82.     else
  83.     {num2 += "5";
  84.         this->ui->lineEdit_2->setText(num2);
  85.     }
  86. }
  87. void Widget::on_pushButton_6_clicked()
  88. {
  89.     if (this->ui->lineEdit_1->text().isEmpty())
  90.     {num1 += "6";
  91.         this->ui->lineEdit->setText(num1);
  92.     }
  93.     else
  94.     {num2 += "6";
  95.         this->ui->lineEdit_2->setText(num2);
  96.     }
  97. }
  98. void Widget::on_pushButton_7_clicked()
  99. {
  100.     if (this->ui->lineEdit_1->text().isEmpty())
  101.     {num1 += "7";
  102.         this->ui->lineEdit->setText(num1);
  103.     }
  104.     else
  105.     {num2 += "7";
  106.         this->ui->lineEdit_2->setText(num2);
  107.     }
  108. }
  109. void Widget::on_pushButton_8_clicked()
  110. {
  111.     if (this->ui->lineEdit_1->text().isEmpty())
  112.     {num1 += "8";
  113.         this->ui->lineEdit->setText(num1);
  114.     }
  115.     else
  116.     {num2 += "8";
  117.         this->ui->lineEdit_2->setText(num2);
  118.     }
  119. }
  120. void Widget::on_pushButton_9_clicked()
  121. {
  122.     if (this->ui->lineEdit_1->text().isEmpty())
  123.     {num1 += "9";
  124.         this->ui->lineEdit->setText(num1);
  125.     }
  126.     else
  127.     {num2 += "9";
  128.         this->ui->lineEdit_2->setText(num2);
  129.     }
  130. }
  131. void Widget::on_pushButton_10_clicked()
  132. {
  133.     ope = "+";
  134.     this->ui->lineEdit_1->setText(ope);
  135. }
  136. void Widget::on_pushButton_11_clicked()
  137. {
  138.     ope = "-";
  139.     this->ui->lineEdit_1->setText(ope);
  140. }
  141. void Widget::on_pushButton_12_clicked()
  142. {
  143.     ope = "×";
  144.     this->ui->lineEdit_1->setText(ope);
  145. }
  146. void Widget::on_pushButton_13_clicked()
  147. {
  148.     ope = "➗";
  149.     this->ui->lineEdit_1->setText(ope);
  150. }
  151. void Widget::on_pushButton_15_clicked()
  152. {
  153.     num1.clear();
  154.     num2.clear();
  155.     ui->lineEdit->setText("");
  156.     ui->lineEdit_1->setText("");
  157.     ui->lineEdit_2->setText("");
  158.     ui->lineEdit_3->setText("");
  159. }
  160. void Widget::on_pushButton_14_clicked()
  161. {
  162.     bool b1, b2;
  163.     double n1 = ui->lineEdit->text().toDouble(&b1);
  164.     double n2 = ui->lineEdit_2->text().toDouble(&b2);
  165.     if (ope == "+")
  166.     {
  167.         res = n1 + n2;
  168.     }
  169.     else if (ope == "-")
  170.     {
  171.         res = n1 - n2;
  172.     }
  173.     else if (ope == "×")
  174.     {
  175.         res = n1 * n2;
  176.     }
  177.     else if (ope == "➗")
  178.     {
  179.         if (n2 != 0)
  180.         {
  181.             res = n1 / n2;
  182.         }
  183.         else
  184.         {
  185.             ui->lineEdit_3->setText("除数不能为零");
  186.             return;
  187.         }
  188.     }
  189.     ui->lineEdit_3->setText(QString::number(res));
  190. }
复制代码
widget.h
  1. #ifndef WIDGET_H
  2. #define WIDGET_H
  3. #include <QWidget>
  4. #include <QLineEdit>
  5. #include <QPushButton>
  6. QT_BEGIN_NAMESPACE
  7. namespace Ui { class Widget; }
  8. QT_END_NAMESPACE
  9. class Widget : public QWidget
  10. {
  11.     Q_OBJECT
  12. public:
  13.     Widget(QWidget *parent = nullptr);
  14.     ~Widget();
  15. private slots:
  16.     void on_pushButton_0_clicked();
  17.     void on_pushButton_1_clicked();
  18.     void on_pushButton_2_clicked();
  19.     void on_pushButton_3_clicked();
  20.     void on_pushButton_4_clicked();
  21.     void on_pushButton_5_clicked();
  22.     void on_pushButton_6_clicked();
  23.     void on_pushButton_7_clicked();
  24.     void on_pushButton_8_clicked();
  25.     void on_pushButton_9_clicked();
  26.     void on_pushButton_10_clicked();
  27.     void on_pushButton_11_clicked();
  28.     void on_pushButton_12_clicked();
  29.     void on_pushButton_13_clicked();
  30.     void on_pushButton_15_clicked();
  31.     void on_pushButton_14_clicked();
  32. private:
  33.     Ui::Widget *ui;
  34.     QString num1;
  35.     QString num2;
  36.     QString ope;
  37.     double res;
  38. };
  39. #endif // WIDGET_H
复制代码
运行效果:



免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

曂沅仴駦

金牌会员
这个人很懒什么都没写!
快速回复 返回顶部 返回列表