新手问自己写SLOT的问题
直接在QT CREATOR里新建一个GUI APPLICATION,界面就2个东西 一个PUSHBUTTON一个LINEEDIT,要写一个自己的SLOT点一下BUTTON然后LINE里输出一段字符串,代码如下:
mainwindow.cpp文件:
#include "mainwindow.h"
#include "ui_mainwindow.h"
void MainWindow::mydefine()
{
ui->lineEdit->setText("ssssssss");
}
MainWindow::MainWindow(QWidget *parent) :
QMainWindow(parent),
ui(new Ui::MainWindow)
{
ui->setupUi(this);
QObject::connect(ui->button11, SIGNAL(clicked()),
this, SLOT(mydefine()));
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::changeEvent(QEvent *e)
{
QMainWindow::changeEvent(e);
switch (e->type()) {
case QEvent::LanguageChange:
ui->retranslateUi(this);
break;
default:
break;
}
}
mainwindow.h文件
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
namespace Ui {
class MainWindow;
}
class MainWindow : public QMainWindow {
Q_OBJECT
public:
MainWindow(QWidget *parent = 0);
~MainWindow();
protected:
void changeEvent(QEvent *e);
private:
Ui::MainWindow *ui;
void mydefine();
};
#endif // MAINWINDOW_H
问题简单,就是点击以后什么反应都没有。。
[解决办法]
slot函数需定义在slots段落里,才能被moc处理到。如:
private slots:
void mydefine();