大宇私人领地伊甸园丨宁愿做了后悔,也不要错过后悔[www.mrdayu.com]
注册

24小时联系邮箱:[email protected]

所有文章
大宇私人伊甸园: 首页 > 所有文章 > 编程人生 > 系统架构 > QT > 《大宇的Qt学习笔记》 > [002.01]标准信号和槽

[002.01]标准信号和槽

发布时间:2018/05/28 《大宇的Qt学习笔记》 标签qt阅读:176

前言:

本章学习的是QT最具特色的功能:信号和槽

内容:

①创建一个Qt Widgets Application窗体程序

②起个名字

③把创建ui选项勾掉,基类选择QWidget。

然后系统自动生成四个文件,其中包括:pro文件,main.cpp,以及MyWidget.h和MyWidget.cpp文件

等下我们会在这里写入我们添加的两个控件按钮。

当然,我们必须首先在头文件添加两个私有成员,QPushButton头文件记得包含。

我们这里测试一个指针类型,一个普通类型。

在MyWidget.cpp文件添加代码,然后ctrl+r运行,查看效果。

初步了解信号和槽:

光标移动QPushButton头文件,按F1,会在右边出现一个小窗口,关于对QPushButton类的介绍,再按一下全屏

我们程序想要完成功能:

按PushButton按钮,关闭整个窗口系统

所以我们需要找到QPushButton按钮的信号,和窗口Widget的槽。

因为我们在QPushButton中没有找到他的signal(信号)函数,所以我们确定信号一定在他继承的基类中:QAbstractButton

点击进入查看:

这有很多个信号,我们选择pressed()按下动作。

ESC返回源码编辑

添加代码:

#include "MyWidget.h"


MyWidget::MyWidget(QWidget *parent)
    : QWidget(parent)
{
    b1.setParent(this);
    b1.setText("close");
    b1.move(100,100);
    b2=new QPushButton(this);
    b2->setText("abc");
    connect(&b1,&QPushButton::pressed,this,&MyWidget::close);
    /*
     * b1:信号发出者,指针类型
     * &QPushButton::pressed:处理的信号,发送者的类名::信号名字
     * this:信号接收者
     * &MainWidgets::close 槽函数,信号处理函数 &接收的类名::槽函数名字
    */
}

MyWidget::~MyWidget()
{

}

总结:测试点击一下close按钮,窗口关闭,说明,测试成功

The bottom line, for me, is simple.

Let’s hope it doesn’t take 500 years for a discipline of testing to becomes the standard for software developers.

From:dayu
相关推荐

您好!请登录

合作网站快捷登录:
点击取消回复

已有1评论

    大宇博客

    点击这里给我发消息 点击这里给我发消息 点击这里给我发消息 点击这里给我发消息