QT小白基础教学
提示:这里可以添加系列文章的所有文章的目录,目录需要自己手动添加
例如:第一章 Python 机器学习入门之pandas的使用
提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档
文章目录
前言
提示:这里可以添加本文要记录的大概内容:
例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。
提示:以下是本篇文章正文内容,下面案例可供参考
一、pandas是什么?
示例:pandas 是基于NumPy 的一种工具,该工具是为了解决数据分析任务而创建的。
二、使用步骤
1.引入库
代码如下(示例):
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
import warnings
warnings.filterwarnings('ignore')
import ssl
ssl._create_default_https_context = ssl._create_unverified_context
2.读入数据
代码如下(示例):
data = pd.read_csv(
'https://labfile.oss.aliyuncs.com/courses/1283/adult.data.csv')
print(data.head())
该处使用的url网络请求的数据。
总结
提示:这里对文章进行总结:
例如:以上就是今天要讲的内容,本文仅仅简单介绍了pandas的使用,而pandas提供了大量能使我们快速便捷地处理数据的函数和方法。
1、命名规则
类名 首字母大写 单词和单词之间首字母大写
函数名 变量名称 首字母小写
2、QT快捷键
注释 ctrl + / | 运行 ctrl + r |
---|---|
同命名之间的.h 和 .cpp 切换 F4 | |
查找 ctrl +f | 编译 ctrl + b |
自动对齐 ctrl + i | 帮助文档 F1 |
3、QPushButton
- #### 创建并设置按钮
#include //按钮控件头文件
QPushButton * btn1 = new QPushButton;
QPushButton * btn2 = new QPushButton(“第二个按钮”,this);
btn->show() //show以顶层的方式弹出窗口插件
bnt->resize(50,50);设置按钮窗口大小
btn->setParent(this); //让btn对象依赖在Widge窗口中(设置父亲)
btn->setText(“11111111111111111”); //显示按钮文本
btn2->move(100,100); //按钮的位置
- #### 设置窗口
resize(600,400); //重置窗口大小
setFixedSize(600,400); //设置窗口固定大小
setWindowTitle(“AA”); //设置窗口标题
4、对象树
当创建的对象在堆区时候,如果指定的父亲是QObject派生下来的类或者QObject子类派生下来的类,可以不用管理释放的操作,将对象会放在对象树中。
一定程度上简化了内存回收机制。
#include "mypushbutton.h"
#include <QDebug>
MyPushButton::MyPushButton(QWidget *parent) : QPushButton(parent)
{
qDebug()<<"我的按钮的构造调用";
}
MyPushButton::~MyPushButton()
{
qDebug()<<"我的按钮的析构";
}
//创建一个自己的按钮对象
MyPushButton * myBtn =new MyPushButton;
myBtn->setText("我的按钮");
myBtn->move(200,0);
myBtn->setParent(this);//设置到对象树中
Widget::~Widget()
{
qDebug()<<"myWidget类析构函数";
delete ui;
}
5、QT坐标系
左上角为0,0点
X为以右为正方向 Y为以下为正方向
6、信号和槽
1、连接函数:connect
2、参数
参数1 信号的发送者
参数2 发送的信号
参数3 信号的接受者
参数4 处理的槽函数
3、松散耦合
4、实现 点击按钮 关闭窗口的案例
5、connect(btn ,&QPushButton::click,this,&QWidget::close);
7、自定义信号和槽
1、自定义信号
1.1 写到signals下
1.2 返回 void
1.3 需要声明,不需要实现
1.4 可以有参数,可以重做
2、自定义槽函数
2.1 返回 void
2.2 需要声明,也需要实现
2.3 可以有参数,可以重做
2.4 写到public slots 下或者 public 或者全局函数
3、触发自定义的信号
3.1 emit 自定义信号
4、案例:
老师触发饿了信号,学生响应函数,请客吃饭
8、当自定义信号和槽出现重载
8.1 需要利用函数指针 明确指向函数的地址
8.2 void (Teacher:: *tSignal)(QString) = &Teacher::hungry;
8.3 QString 转成char*
ToUtf8()转为 QByteArray
Data()转为 Char*
8.4 信号可以连接信号
8.5 断开信号 disconnect
9、拓展
9.1 信号可以连接信号
9.2 一个信号可以连接多个槽函数
9.3 多个信号可以连接同一个槽函数
9.4 信号和槽函数的,必须类型一一对应
9.5. 信号和槽的参数个数是不是一致
9.6 信号槽可以断开连接 disconnect
10、QT4版本写法
10.1 connect (信号的发送者,发送的信号 SIGNAL(信号),信号接受者,槽函数SLOT(槽函数) )
10.2 优点 参数直观
10.3 缺点 编译器不会检测参数类型
11、Lambda表达式
11.1 []标识符 匿名函数
11.1.1 = 值传递
11.1.2 & 引用传递
11.2 () 参数
11.3 {} 实现
11.4 mutable 修饰 值传递变量 , 可以修饰拷贝出的数据,改变不了本体
11.5 返回值 [] () ->int{}