zoukankan      html  css  js  c++  java
  • <学习QT>项目一、简易计算器

      使用了QT几个月,都是在别人的基础上对代码进行修改,因此想通过自己平时做一些小项目来系统的学习QT,记录自己的一点一滴。这次实现一个简易的计算器,界面朴实无华平平无奇,低调中透露出一丝不羁,可以说是计算器中的拖拉机,功能也是未够完善,只能实现简单的加减乘除,开根号求倒数,但这个项目的目的不是真的做一个计算器,而是熟悉信号槽和信号匹配器的使用。

      计算器的界面如下图所示:

      

      其中信号匹配的的使用方法如下:

    //在堆上创建对象
    QSignalMapper *signalMapper = new QSignalMapper(this);    
    //将按键对象与信号匹配器连接
    connect(ui->pushButton,SIGNAL(clicked()),signalMapper,SLOT(map()));  
    //将按键与要发送的字符串匹配 
    signalMapper->setMapping(ui->pushButton,ui->pushButton->text());   
    //连接信号匹配器与槽函数,修改lineEdite的内容
    connect(signalMapper,SIGNAL(mapped(QString)),this,SLOT(slot_fuction(QString)));
    
    void classname::slot_fuction(QString str)
    {
    
        //-----------
    }

      当要大量处理一系列相似的控件时,例如要处理计算器的多个按键,可以用如下方法:

    QList<QPushButton *> Btins;
    foreach (QPushButton *btns, Btins)
    {
       //....  
    }

      于是可以结合信号匹配器,通过遍历按键来进行信号与槽的绑定。

  • 相关阅读:
    自定义TabBarController
    UITabBarController剖析
    IOS中UIScrollView的contentSize、contentOffset和contentInset属性
    iOS开发 剖析网易新闻标签栏视图切换
    transitionFromViewController方法的使用
    ViewController生命周期
    1816. Truncate Sentence
    1290. 二进制链表转整数
    1302. 层数最深叶子节点的和
    102.二叉树的层次遍历
  • 原文地址:https://www.cnblogs.com/qjswxd/p/10085831.html
Copyright © 2011-2022 走看看