• VS下QT的自定义槽函数修改方法


    通过几天的摸索,基本发现了两个VS的槽函数的修改方法

    一种是UI是通过UI 设计师拖出来的,类似VB的方法,通过拖的方法,按钮的代码是系统自动生成的,在UI.h的头文件下,这个时候,实现槽函数有个固定的格式。

    //槽函数在Header Files文件的头文件下
    
    #include <QtGui/QMainWindow>
    #include "ui_qt1.h"
    
    class qt1 : public QMainWindow
    {
        Q_OBJECT
    
    public:
        qt1(QWidget *parent = 0, Qt::WFlags flags = 0);
        ~qt1();
    
    private slots:
        void on_pushButton_clicked();
        void on_pushButton_2_clicked();//注意一定要on_信号题_信号这种格式
    
    private:
        QLineEdit *display;
        Ui::qt1Class ui;
    };
    
    
    
    //槽函数的实现的在 cpp下
    
    void qt1:: on_pushButton_clicked()
    {
        int one,two,sum;
    
        one=ui.lineEdit->text().toInt();
        two=ui.lineEdit_2->text().toInt();
        sum=one+two;
        ui.lineEdit_3->setText(QString::number(sum));
    }
    View Code

    还有一种是布局通过手写代码实现的,这时也有个固定的格式

    QToolButton *clearMemoryBtn = new QToolButton;
    clearMemoryBtn->setText("MC");
    connect(clearMemoryBtn,SIGNAL(clicked()),this,SLOT(clearMemory()));
    
    //注意connect的格式
    //然后是槽函数的clearMemory()声明实现
    
    public slots:
        void digitClick();
    
    
    void calc::digitClick()
    {
        QToolButton *clickedButton = qobject_cast<QToolButton *>(sender());
        int digit = clickedButton->text().toInt();
        if (display->text() == "0" && digit == 0)
            return;
        if (display->text() == "0")
            display->setText("");
        if (waitingForOperand == false)
        {
            display->clear();
            waitingForOperand = true;
        }
        display->setText(display->text() + QString::number(digit));
    }
    View Code
  • 相关阅读:

    决斗(Headshot )
    密码(Password)
    线性表
    hdu 5409 CRB and Graph(边双联通分量)
    无向图的边双连通分量(EBC)
    hdu 3461 Code Lock 并查集(有点难想到)★★
    hdu 1558 Segment set 计算几何+并查集★
    交表(Send a Table)
    杨辉三角与二项式定理
  • 原文地址:https://www.cnblogs.com/huhuuu/p/3301363.html
Copyright © 2020-2023  润新知