创建按钮
#include<QPushButton>
构造函数
QPushButton(const QString & text, QWidget * parent = 0) |
text : 按钮上显示的文字
parent : 按钮在哪个对象上
类中声明: private: QPushButton* btn;
构造函数中定义: btn = new QPushButton("Close",this);
调整位置和大小 btn->move(100,100); btn->resize(100,100); |
信号槽(实现按钮的点击)
如果让按钮能在用户点击后执行某个代码,就需要用到Qt中的信号槽机制。
使用信号槽的对象需要具备两个条件:
● 通信的对象必须继承自QObject
● 类中要有Q_OBJECT宏
静态成员函数connect,用于连接信号槽之间的因果关系
connect(const QObject * sender, const char * signal, const QObject * receiver, const char * method, Qt::ConnectionType type = Qt::AutoConnection) |
参数1:发射者,通信的对象,此对象是信号槽触发的来源,例如:按钮对象(n.)
参数2:信号函数,使用SIGNAL()包裹,表示发射者触发的效果,例如:点击(v.)
参数3:接收者,通信对象,此对象是执行结果代码的主体(n.)
参数4:槽函数,使用SLOT()包裹,表示接收者要执行的函数(v.)
使用信号槽实现按钮点击后,关闭窗口:
QPushButton* btn; btn = new QPushButton("Close",this); connect(btn,SIGNAL(clicked()),this,SLOT(close())); |