窗口类widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include <QPushButton>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
void mySlot();
private:
QPushButton b1;
QPushButton *b2;
QPushButton b3;
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
b1.setParent(this);
b1.setText("^_^");
b1.move(100,100);
b2 = new QPushButton(this);
b2->setText("abc");
connect(&b1, &QPushButton::pressed, this, &Widget::close);
connect(b2,&QPushButton::released,this,&Widget::mySlot);
connect(b2,&QPushButton::released,&b1,&QPushButton::hide);
/* &b1 信号发出者,指针类型
* &QPushButton::pressed, 处理的信号, &发送者的类名,信号名字
* this:信号接受者
* &Widget::close 槽函数,信号处理函数
*/
setWindowTitle("BOSS");
b3.setParent(this);
b3.setText("goto");
b3.move(50,50);
}
void Widget::mySlot()
{
b2->setText("123");
}
Widget::~Widget()
{
}
主函数
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.setWindowTitle("Hello QT");
w.show();
return a.exec();
}