Qt各种栏-Layout

1.如何在qt中查看函数的属于哪个类,其返回值是什么

在这里插入图片描述

在这里插入图片描述

2.代码创建菜单栏、工具栏、状态栏等

在这里插入图片描述

创建工具栏,状态栏,有两种调用方式:
1.使用堆区new一个,在堆区创键,函数执行完也是存在的。
2.使用父类中带的创建函数,但是对于有的创建没有这种形式的函数可以调用,一般这种函数都是类名去除了Q,只用后面的。
所以无论任何情况使用第一种都是可以的。

 QMenuBar *bar=menuBar();//menuBar函数是QMainwindow类的
 QToolBar *toolbar= new QToolBar(this);//放在对象树上

对于Qstatusbar(状态栏),其两种情况都适用,所以都可以调用。

QStatusBar *statusbar2=statusBar();
QStatusBar *statusbar=new QStatusBar(this);

一般对于控件,标签等,只能使用在堆区,new的方式创建

对于一个窗口只能含有一个的类,比如:菜单栏、状态栏,我们将其放入窗口中时,使用的都是set开头的函数进行设置。
对于一个窗口可以含有多个的类,比如:工具栏、铆接部件 我们将其放入窗口中时,都是以add开头的函数进行设置。 一般将这些这些栏、铆接部件放入窗口中都使用的是Qmainwindow类中带的set和add开头的函数

setMenuBar(bar);//setMenubar 也是Qmainwindow的函数
addToolBar(Qt::LeftToolBarArea,toolbar);//addtollbar是Qmainwindow的成员函数,所以可以使用这种方式将工具栏放
setStatusBar(statusbar);//只能有一个设置在窗口中,用的就是set入窗口中
 addDockWidget(Qt::BottomDockWidgetArea,dockwidget);//将铆接部件放入窗口中。

在这里插入图片描述

在这里插入图片描述

当你使用ui去添加一个类时,你的ui就是一个指针,可以指向你所添加的所有类。所有在代码中你可以用ui去调用修改它们的属性。
在Qt中基本所有使用的控件,部件都要包含它的类,这样就不会报错,并且会有提示。

3.在qt中添加资源文件

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

4.QAction类的介绍:

QAction从名字上我们可以看出,这是一个类,它的功能是等待指令,执行工作。那么这个指令怎么来呢?比如菜单项、工具栏内按钮,用户在点击这些选项或按钮时,Qt得到反馈,执行指定功能。

一、用法
在这里插入图片描述
在这里插入图片描述

对于菜单栏,有下属的Qmenu,所以创建一个子小菜单就是addmenu函数,再在小菜单下面创建小按钮,就是addaction函数。
对于工具栏 有QToolbar,在下属就是QAction小按钮了,所以添加就是addAction函数。在工具栏中添加一些部件,使用addWidget函数; toolbar->addWidget(btn);

在链接信号时,链接Qmenu菜单项是错误的,只能链接Qacction

    ui->setupUi(this);
    QMenuBar *menubar=menuBar();
    setMenuBar(menubar);
    QMenu * filemenu=menubar->addMenu("文件");//新菜单是新建,其菜单指针是filemenu
    QAction *newfile=filemenu->addAction("新建");
    //这块为什么不能连接菜单项的点击呢?,因为菜单项没有实际的功能,它的点击就是展开下属的所有action
//    connect(menubar,&QMenu::triggered,[=](){   //连接菜单是错误的
//        QDialog *dialog=new QDialog(this);
//        //QDialog dig(this);
//            dialog->exec();});
    
    connect(newfile,&QAction::triggered,this,[=](){
        QDialog *dialog=new QDialog(this);
        //QDialog dig(this);
            dialog->exec();
    });
5.对话框细节

非模态对话框的创建:在lambda表达式里面创建,必须创建在堆区,否则在栈区会一闪而过。

 //模态对话框创建
//        QDialog *dialog=new QDialog(this);
//        //QDialog dig(this);
//        dialog->resize(400,300);
//            dialog->exec();
//            qDebug()<<"模态对话框弹出";
        //非模态对话框创建
            //QDialog dig(this);
            //dig.show();//这样会一闪而过,被释放了
            //这样创建在栈区,lambda表达式是一个匿名函数,函数调用完,里面在栈区创建的东西就会被释放
         //在堆区创建
            QDialog *dig=new QDialog(this);
            dig->resize(400,300);
            dig->show();

有枚举值(里面有很多种,你要根据你所需的功能选择对应的枚举值)。
(与工具栏,铆接部件等一样,可以设置停靠区域)
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.Qt中静态成员函数和公共函数

在这里插入图片描述
![在这里插入图片描述](https://img-blog.csdnimg.cn/9cbf3d952ec8443f918213447e7a808a.png在这里插入图片描述
因为静态成员函数没有this指针,所有对象公用一个静态成员函数
对于非静态成员函数,this指针是默认就有的,指向调用它的类对象,
非静态成员函数也不可以用类名去调用

在这里插入图片描述
在这里插入图片描述

7.布局

使用水平或者垂直布局之后,它的图形就会随窗口大小一起变化。
在这里插入图片描述
弹簧是Expanding的时候可以根据你窗口的缩放大小,控件可以一直居中显示
在这里插入图片描述
在这里插入图片描述
修改输入文本框的显示方式
在这里插入图片描述
栅格布局,可以进行格子对齐
在这里插入图片描述
一般按钮使用图片用 ToolButton
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
设置标签文本的对齐方式
在这里插入图片描述
改变样式表,可以使一些控件更加美观
使用ui指针,半天弹不出来相应控件,需要运行一下
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值