通過幾天的摸索,基本發現了兩個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)); }
還有一種是布局通過手寫代碼實現的,這時也有個固定的格式

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)); }