QT学习1

1、主函数框架:

#include <QApplication>
int main(int argc, char *argv[])
{
    QApplication a(argc, argv);
  //待执行代码段 
    return a.exec();
}

2、关键字:
emit :触发信号函数(广播式发送信号)

3、函数指针:

void fun()
{
}
void(*p)()=fun;

4、信号没有返回值,可以有参数;信号就是函数的声明,只需声明,无需定义;信号可重载。

5、具体语句语法分析
a、信号与槽:QT对象之间通信的接口

connect(&b1,&QPushButton::pressed, this, &MainWidget::close);
    /* &b1:信号发出者,指针类型
     * &QPushButton::pressed:处理的信号, &发送者的类名::信号名字
     * this:信号接收者
     * &MainWidget::close:槽函数,信号处理函数, &接收的类名::槽函数名字
     */

b、输出中文时配置

    //str.toUtf8() -> 字节数组QByteArray
    //...data() ->QByteArray ->char*
    qDebug() << a << str.toUtf8().data()

输出为:
在这里插入图片描述
用 qDebug() << a << str;直接输出时:
在这里插入图片描述
输出的中文字符带双引号。

6、Qt4信号连接(用宏)
Qt4槽函数必须有slots关键字修饰
在这里插入图片描述

    connect(&w,SIGNAL(mysignal()),this,SLOT(dealSub()));
    connect(&w,SIGNAL(mysignal(int , QString)),this,SLOT(dealSlot(int , QString)));
    //SIGNAL,SLOT将函数名字->字符串 不进行错误检查

7、Lambda表达式(添加 项目文件:CONFIG +=C++11)

 QPushButton *b4=new QPushButton(this);
    b4->setText("Lambda表达式");
    b4->move(150,150);
   connect(b4,&QPushButton::released,
           []()                                                             
           {                          
             qDebug() <<"111";

           }

           );

[]:将外部参数传入;(传入时默认只读)
放入=时,表示将外部所有局部变量、类中所有成员以值传递方式传入(常用)
this:类中所有成员以值传递方式传入
&:把外部所有局部变量、引用符号传入

8、坐标系统
a、对于父窗口(主窗口),坐标系统相对于屏幕;
原点:相对于屏幕左上角;
x:往右递增;y:往下递增。
b、对于子窗口,坐标系统相对于父窗口;
原点:相对于窗口空白区域左上角;
x:往右递增; y:往下递增。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值