我在VS2013中編寫了一個簡單的QT計算器。我用信號released()
來撥打我的插槽,但我的插槽不工作。也許我的信號從未觸發。我是QT新手,我不知道我做錯了什麼。QT中的信號插槽
我班有此屬性:
class Calculator : public QMainWindow
{
Q_OBJECT
public:
Calculator(QWidget *parent = 0);
~Calculator();
private slots:
void Calculator::two();
private:
QLabel *lable;
QPushButton *two_button;
QString value;
QString total;
int fnum;
int snum;
bool addbool;
bool subtractbool;
bool multiplybool;
bool devidebool;
};
這是我的信號連接到插槽的代碼行:
one_button = new QPushButton("2", this);
connect(two_button, SIGNAL(released()), this, SLOT(two()));
和我的插槽
void Calculator::two()
{
value = value+"2";
lable->setText(value);
}
我在我的插槽中放置一個斷點,但它從未達到斷點。
你的意思是使用'clicked()'而不是'released()'? – Mike
@Mike釋放也應該被調用,雖然我猜你當你點擊按鈕。 – Hayt
你聲明你的插槽是錯誤的:不是'void Calculator :: two();'但是'void two();' – Hayt