widget.h
#ifndef WIDGET_H
#define WIDGET_H
#include <QWidget>
#include<QPushButton>
class Widget : public QWidget
{
Q_OBJECT
public:
Widget(QWidget *parent = 0);
~Widget();
private:
QPushButton b2;
public:
void change_text();
};
#endif // WIDGET_H
widget.cpp
#include "widget.h"
Widget::Widget(QWidget *parent)
: QWidget(parent)
{
//按钮可以通过构造函数,完成父对象指定(具体例子见下一篇文章:窗口之间的切换)
//也可以通过setparent函数,指定父对象
this->setWindowTitle("我是爸爸");//设置窗口标题
resize(500, 500); //设置窗口大小
b2.setParent(this); //将b2按钮放进窗口
b2.setText("点我!"); //设置按钮文字
b2.resize(100,20); //设置按钮大小
b2.move(200,200); //移动按钮到200,200的位置
//点击b2改变按钮文字
//connect连接信号与槽(信号触发者(地址), 发出的信号, 信号接收者(地址), 处理信号的函数)
//一个信号可以触发多个槽函数,同一个槽函数可以被多个信号触发,信号发出可以不被处理
connect(&b2, QPushButton::clicked, this, Widget::change_text);
}
Widget::~Widget()
{
}
//改变按钮文字
void Widget::change_text()
{
b2.setText("你是^(ˉ(∞)ˉ)^");
}
main.cpp
#include "widget.h"
#include <QApplication>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
Widget w;
w.show();
return a.exec(); //保证窗口显示,缺少则窗口一闪而过
}
运行效果: