QT学习笔记2

QT学习笔记2

QPushButton常用API

1、QPushButton(): 初始化对象
2、show(): 跳出窗口显示
3、move(): 设置按钮位置
4、setParent(): 设置父级窗口
5、setText(): 设置文本内容

窗口常用API

1、resize(): 设置窗口大小
2、setFixedSize: 设置窗口固定大小
3、setWindowTitle: 设置窗口标题

信号和槽

1、连接函数:connect()
2、参数列表:信号发送者,信号,信号接收者,处理的函数
3、松散耦合:信号发送者和信号接收者独立开来

connect(btn,$QPsuhButton::clicked,wight,$QWight::close)

自定义信号和槽

创建Teacher类和Student类都继承于QObejct类,Teacher发送信号,Student接收信号并处理`

触发信号关键字 emit

Teacher.h

class Teacher : public QObject
{
    Q_OBJECT
public:
    explicit Teacher(QObject *parent = nullptr);

signals:
	//自定义信号写在signals下
	//返回值为void
	//只需声明,不需重载
	//可以有参数,也可以重载
    void hungry();

public slots:
};

#endif // TEACHER_H

Student.h

class Student : public QObject
{
    Q_OBJECT
public:
    explicit Student(QObject *parent = nullptr);

signals:

public slots:
	//与信号不同的地方在于,自定义槽需要声明和实现
    void treat();
};

Student.cpp

void Student::treat()
{
    qDebug()<<"aa";   
}

自定义信号和槽重载

信号和槽发生重载时,会导致connect中无法具体识别到具体信号和槽,这时候就需要用到函数指针指向具体的信号和槽,便于connect函数辨别。
函数指针:其本质是一个指针变量,该指针指向这个函数

//使用函数指针 返回值类型 + (指针变量) + (参数列表)
void(Teacher:: *teacherSignal)(QString) = Teacher::hungry;
void(Student:: *studentSlot)(QString) = Student::treat;
connect(teacher,teacherSignal,student,studentSlot);
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值