zoukankan      html  css  js  c++  java
  • 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
  • 相关阅读:
    Linux 磁盘管理
    Linux 特殊权限及if语句
    Linux find命令
    MySQL索引知识介绍
    MySQL库表设计小技巧
    教你用SQL实现统计排名
    Truncate用法详解
    utf8字符集下的比较规则
    关于Aborted connection告警日志的分析
    MySQL DDL详情揭露
  • 原文地址:https://www.cnblogs.com/huhuuu/p/3301363.html
Copyright © 2011-2022 走看看