QT学习(一)

版本:QT5.14.2

快捷键:

  • 注释:ctrl+/
  • 运行:ctrl+r
  • 编译:ctrl+b
  • 字体缩放:ctrl+滚轮
  • 查找:ctrl+f
  • 整行移动:ctrl+shift+上下箭头
  • 帮相文档:F1
  • 自动对齐:ctrl+i
  • 同名之间.h文件与.cpp文件切换:F4

添加模块(按钮):简单演示:

#include "mywidget.h"
#include<QPushButton>

myWidget::myWidget(QWidget *parent)
    : QWidget(parent)
{
//    QPushButton * btn = new QPushButton;
//    btn->setParent(this);
//    btn->setText("第一个按钮");

     QPushButton * btn2 = new QPushButton("第二个按钮",this);
     resize(600,400);
     //移动按钮
     btn2->move(100,100);
     //设置标题
     setWindowTitle("窗口名字");
     
         
}

myWidget::~myWidget()
{
}


QT创建对象过程中会提供一个Parent对象指针,QObject是一个大的父类,当父对象析构时,子对象也会被析构,所以子对象不用手动释放。

pro文件就是项目文件,打开看类似与CMakelists,基本不需要修改,用到未默认模块时手动添加即可。

#include打印输出
qDebug()<<"我的按钮类构造调用 "<<endl;
qDebug()类似与cout

QT坐标系:
以左上角为原点(0,0),X向右增大,Y向下增加。对于嵌套窗口,其坐标是相对于父窗口来说的。

信号和槽:
connect :信号发送,信号内容(函数地址),信号接受,信号处理(槽)

信号槽的优点:松散耦合,信号发送端与接收端本身没有关联,通过connect链接,将俩端耦合在一起。

断开信号:disconnect()

 connect(myBtn,&QPushButton::clicked,this,&myWidget::close)`;

自定义信号写到signals下,返回值是void,只需要声明不需要实现,可以有参数,可以重载。

**自定义槽函数:**早期QT版本必须写到public slots下,高级版本可以写到public或者全局下,返回值为void,需要声明也需要实现,可以有参数,可以发生重载。

拓展:
1.信号可以连接信号
2.一个信号可以连接多个信号
3.多个信号可以连接同一个槽函数
4.信号和槽函数参数必须类型一一对应
5.信号的参数个数可以多余槽函数的参数个数

关于视频课的一个作业:

作业要求:实现图形界面有俩个按钮,一个按一下弹出一个新界面,按下另一个按钮关闭新界面:
代码如下:

#include "widget.h"
#include "ui_widget.h"
#include<QPushButton>
#include<QWidget>
Widget::Widget(QWidget *parent)
    : QWidget(parent)
    , ui(new Ui::Widget)
{
    ui->setupUi(this);
    QWidget *one=new QWidget;
    QPushButton * btn = new QPushButton;
    btn->setParent(this);
    btn->setText("open");

    QPushButton * btn1 = new QPushButton;
    btn1->setParent(this);
    btn1->setText("close");


     resize(600,400);
     //移动按钮
     btn1->move(100,100);


     connect(btn,&QPushButton::clicked,one,[=](){
         one->show();
     });
     connect(btn1,&QPushButton::clicked,one,&Widget::close);
}

Widget::~Widget()
{
    delete ui;
}


其中注意lambda表达式,是C++11新特性

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值