首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > QT开发 >

新手问自己写SLOT的有关问题

2012-03-01 
新手问自己写SLOT的问题直接在QT CREATOR里新建一个GUI APPLICATION,界面就2个东西 一个PUSHBUTTON一个LIN

新手问自己写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();

热点排行