• QT day2


    1> 完成登录框的按钮操作,并在登录成功后进行界面跳转

    2> 将模拟面试答案写在思维导图

    1. int main(int argc, char *argv[])
    2. {
    3. QApplication a(argc, argv);
    4. Widget w;
    5. w.show();
    6. Form f;
    7. //将第一个界面的信号函数与第二个界面的槽函数链接
    8. QObject::connect(&w,&Widget::jump,&f,&Form::jump_slot);
    9. close c;
    10. QObject::connect(&w,&Widget::close_jump,&c,&close::closewin);
    11. QObject::connect(&c,&close::mainjump,&w,&Widget::showmain);
    12. return a.exec();
    13. }
    14. /**************************************/
    15. connect(btn2,&QPushButton::clicked,this,&Widget::login_slot);
    16. connect(btn3,SIGNAL(clicked()),this,SLOT(cancel_slot()));
    17. }
    18. void Widget::login_slot()
    19. {
    20. if(this->edit1->text()=="admin" && this->edit2->text()=="123456")
    21. {
    22. qDebug() << "login success" ;
    23. this->close();
    24. emit jump();
    25. }
    26. else
    27. {
    28. qDebug() << "login fail" ;
    29. //edit1->clear();
    30. edit2->clear();
    31. }
    32. }
    33. void Widget::cancel_slot()
    34. {
    35. this->close();
    36. emit close_jump();
    37. }
    38. void Widget::showmain()
    39. {
    40. this->show();
    41. }
    42. /******************************/
    43. void Form::jump_slot()
    44. {
    45. this->show();
    46. }
    47. /************************************/
    48. this->resize(500,300);
    49. lab2=new QLabel(this);
    50. lab2->resize(500,300);
    51. lab2->setPixmap(QPixmap(":/icon/liandao.jpg"));
    52. lab2->setScaledContents(1);
    53. btn1=new QPushButton("取消",this);
    54. btn2=new QPushButton("确认",this);
    55. btn1->resize(150,100);
    56. btn2->resize(150,100);
    57. btn1->move(100,150);
    58. btn2->move(300,150);
    59. btn1->setIcon(QIcon(":/icon/heart.png"));
    60. btn2->setIcon(QIcon(":/icon/heart.png"));
    61. /*****************************************/
    62. lab1=new QLabel(this);
    63. lab1->resize(200,100);
    64. lab1->setText("确认要退出吗?");
    65. lab1->setStyleSheet("background-color: rgb(0, 255, 255);"
    66. "color: rgb(0, 0, 0);"
    67. );
    68. /******************/
    69. connect(btn2,&QPushButton::clicked,this,&QWidget::close);
    70. connect(btn1,&QPushButton::clicked,this,&close::cancel_slot);
    71. }
    72. close::~close()
    73. {
    74. delete ui;
    75. }
    76. void close::closewin()
    77. {
    78. this->show();
    79. }
    80. void close::cancel_slot()
    81. {
    82. this->QWidget::close();
    83. emit mainjump();
    84. }

    xmind

  • 相关阅读:
    Mapbox 与 Babylon.js 可视化 添加人物动画
    软件测试培训之写给要学习自动化测试的同学的建议
    使用Mybatis generator自动生成代码,仅限Oracle数据库
    k8s持久化存储PV、PVC
    GitHub这5个骚操作,大部分人不知道
    C++ Reference: Standard C++ Library reference: C Library: cctype: islower
    页面交互(js与HTML,css的使用)
    react 初级基础
    MySQL查询某个字段含有字母数字的值
    Logstash同步MySQL数据到ES
  • 原文地址:https://blog.csdn.net/fh2331/article/details/132610863