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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM