通过几天的摸索,基本发现了两个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)); }