[C++ 小学期] Qt 第二课

带参数的信号

QString 相当于 c++ 中的string

void Mysignal(int,QString);

可以重载

重载的链接处理

  • 使用函数指针
void (xd::*fun1)() = &xd::Mysignal;
void (xd::*fun2)(int,QString) = &xd::Mysignal;
connect(&w,fun1,this,&Widget::dealSub);

connect(&w,fun2,this,&Widget::dealSlot);

Lamba表达式 匿名函数对象

  • []外部变量的传值

  • 如果[=] 表示全部外部变量 以值传递方式

  • 如果需要修改 需要加一个mutable

//Lamba表达式 匿名函数对象
QPushButton *nb1 =  new QPushButton(this);
nb1->setText("dontknow");

//[=] : 把外部所有局部变量,类中所有成员以值传递方式传递进来
connect(nb1,&QPushButton::released,
[nb1]() //mutable 将值传递破解
//[]代表函数的开始 ()参数
{
    //[]把外部变量传进来
    nb1->setText("123");
   
}

);

各种栏

  • 菜单栏
  • 工具栏
  • 状态栏
  • 核心空间
  • 浮动窗口

菜单栏

头文件

#include <QMenuBar>
#include <QMenu>

新建菜单栏

QMenuBar *mBar =menuBar();

新建菜单项

   QAction *pNew = pFile->addAction("新建");

然后就是匿名函数

QAction 所以用 triggered

connect(pNew,&QAction::triggered,
        [=]()
         {
            qDebug()<<"新建建并按下";
         }
        );

添加分割线
pFile->addSeparator();//添加分割线

工具栏

头文件

#include <QToolBar>

工具栏添加快捷键

QToolBar *toolBar = addToolBar("toolBar");
toolBar->addAction(pNew);

状态栏

#include <QStatusBar>
#include <QLabel>

定义和使用:

   QStatusBar *statuBar = statusBar();
   QLabel *label = new QLabel(this);
   label->setText("Normal");
   statuBar->addWidget(label);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值