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