QT5-第二天

本文介绍了QT5中关于按钮控件的常用API,包括创建、设置文本和位置等操作。接着讨论了对象树的概念,特别是析构顺序,说明了如何通过对象树简化内存管理。最后,讲解了信号和槽机制,阐述了其在QT中实现松散耦合的原理和连接函数的使用。
摘要由CSDN通过智能技术生成

1.按钮控件常用API

  • 创建 QPushButton *btn=new QPushButton;
  • 设置父亲 btn->setParent(this);(tihs指针使按钮固定到窗口上)
  • 设置文本 btn->setText(“Push Me!”);
  • 设置位置 btn2->move(100,50);//宽,高
  • 重新指定窗口大小 resize(600,400);
  • 窗口固定大小 setFixedSize(600,400);
  • 设置窗口标题 setWindowTitle(“第一个窗口”);

PS :窗口坐标系

窗口坐标系示意图

2. 对象树(析构顺序)

QWidget是所有能够在屏幕显示的一切组件的父亲。当创建的对象在堆区的时候,如果指定对象的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放操作,对象树中的对象自动回收,一定程度上简化了内存回收机制。

对象树示意图
QT析构顺序

3.信号和槽(slot,处理函数)机制

松散耦合:信号发送端和接收端 本身没有关联,需要连接。

//连接函数:connect(信号发送方、发送的信号(函数地址)、接受者、处理槽函数)
connect(btn ,&QPushButton::clicked,this,&myWidget::close);

连接函数:connect(信号发送方、发送的信号(函数地址)、接受者、处理槽函数)

/*************
*mywidget.cpp
**************/
#include "mywidget.h"
#include "QPushButton"
myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
    //创建一个按钮
    QPushButton *btn=new QPushButton;
    //btn->show();以顶层方式显示。
    //依赖窗口显示
    btn->setParent(this);
    //显示文本
    btn->setText("Push Me!");
    //按照控件大小创建窗口
    QPushButton *btn2=new QPushButton("第二个按钮",this);
    //移动btn2按钮
    btn2->move(100,50);
    //设置窗口大小
    resize(600,400);
//    resize(200.100);
    //固定窗口大小
//    setFixedSize(600,400);
    //设置窗口标题
    setWindowTitle("第一个窗口");

    //点击按钮关闭窗口
    //参数: 信号发送方、发送的信号(函数地址)、接受者、处理槽函数
    connect(btn ,&QPushButton::clicked,this,&myWidget::close);
}
myWidget::~myWidget()
{
}
### 回答1: 黑马qt公开课是一套为期5天的课件,主要介绍了Qt框架的基础知识和应用。Qt框架是一个跨平台的开发工具,可以方便地进行应用程序的设计、开发和调试,被广泛应用于图形界面开发、嵌入式系统和移动应用等领域。 在5天的课程中,学习者将对Qt框架的整体架构有一个全面的认识,包括Qt及其常用库的概念、功能和用法,也学会了如何使用Qt Designer进行界面设计和基于信号与槽的事件编程。 此外,课程还将介绍Qt中常用的编程模式和技术,如MVC架构、文件操作、网络编程等,并通过实例让学习者深入理解和应用这些概念和技术。 5天的课件中还提供了大量的实践操作,让学习者通过编写实际案例,深入理解所学知识,并更好地掌握Qt框架的基础和应用,为以后的工作打下坚实的基础。 总之,如果你想快速入门Qt框架的基础知识和应用,那么黑马qt公开课—5天的课件,将是一个非常好的选择。 ### 回答2: 黑马qt公开课的课件共分为5天,内容涵盖了Qt的基础知识、UI设计、绘图系统、多线程编程和网络编程等方面。通过这5天的学习,学员可以全面掌握Qt的开发技能和应用场景,具备开发Qt应用程序的能力。 第一天课程主要介绍了Qt的基础知识,包括Qt窗口和控件、信号与槽机制、事件处理、布局和样式等内容。通过这些基础知识的学习,学员可以了解Qt的基本工作原理和操作方法。 第二天的课程主要讲解了Qt的UI设计,包括UI设计器的使用、自定义控件和样式等内容。学员可以从中学习到如何设计美观、直观的用户界面。 第三天的课程则主题为Qt的绘图系统,包括2D和3D绘图、动画效果和图形转换等内容。在这一天的课程中,学员可以学习到如何使用Qt进行图形绘制和界面效果的优化。 第四天的课程主要介绍了Qt的多线程编程,包括线程的创建和管理、互斥锁和信号量等内容。学员可以从中学习到如何在Qt中实现多线程应用程序。 第五天的课程则主题为Qt的网络编程,包括socket编程、HTTP协议和Web服务等内容。学员可以从中学习到如何使用Qt进行网络编程,实现客户端和服务器的互通。 总体来说,黑马qt公开课的5天课程涵盖了Qt的核心知识点,让学员能够全面掌握Qt的开发技能和应用场景。通过这些课程的学习,学员可以成为一名合格的Qt开发工程师。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值