事件处理

来源:互联网 发布:php 汉字长度 编辑:程序博客网 时间:2024/06/08 13:34

一、事件处理

这里的事件,主要是指用户输入事件,比如,点击个按钮、选中复选框、按下回车。当事件发生时,程序做出的反应,称为事件处理。

QT中的事件处理机制叫“信号和槽”signal&slot

其理论模型为:

对象a中有一个信号signal:xxx(代表一个事件)

对象b中有一个槽slot:yyy(事件处理函数)

事先把他们连接起来:   connect(a,xxx,b,yyy)

然后当a中事件发生时,b中的处理函数就会被调用。

例1:点击按钮文本框中显示“hello,world”

ifndef MYWIN_H

#define MYWEN_H

#include<QWidget>

#include<QPushButton>

#include<QLineEdit>

#include<QPlainTextEdit>

class MyWin :public QWidget

{

Q_OBJECT

public:

MyWin(QWidget* parent);

~MyWin();

private:

QPushButton* m_button;

QPlainTextEdit* m_textEdit;

private slots:

int button_click();

}



#include "MyWin.h"

MyWin::MyWin(QWidget *parent):QWidget(parent)

{

m_button=new QPushButton(this);

m_button->setText("hello,qt");

m_button->setGeometry(310,0,90,50);

m_textEdit=new QPlainText(this);

m_textEdit->setGeometry(0,60,400,240);

connect(m_button,SIGNAL(clicked()),this,SLOT(button_click()));

}

MyWin::~MyWin()

{

}

MyWin::button_click()
{
m_textEdit->setPlainText("hello,world");
}


原创粉丝点击