QT学习---QMainWindow

1、QMainWindow

QMainWindow是一个为用户提供主窗口程序的类,包含一个菜单栏(menu bar)、多个工具栏(tool bars)、多个锚接部件(dock widgets)、一个状态栏(status bar)及一个中心部件(central widget),是许多应用程序的基础,如文本编辑器,图片编辑器等.
+

1、菜单栏

在这里插入图片描述
一个窗口最多只有一个菜单栏位于主窗口顶部、主窗口标题栏下面。
QMainWindow—>public function–>setMenuBar
在这里插入图片描述
在这里插入图片描述
添加菜单栏:

//创建一个菜单栏
QMenuBar *bar = new QMenuBar(this);
//将菜单栏添加到主窗口中
this->setMenuBar(bar);

在菜单栏中添加菜单:
在这里插入图片描述

//定义菜单
QMenu *men = new QMenu("文件",this);
QMenu *edit = new QMenu("编辑",this);
//在菜单栏中添加菜单
bar->addMenu(men);
bar->addMenu(edit);

运行结果:
在这里插入图片描述
给菜单里面添加菜单项:
在这里插入图片描述
给菜单项添加快捷键:
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

//定义菜单项
QAction *New = new QAction("new",this);
QAction *Save = new QAction("save",this);   
//将菜单项添加到菜单中
men->addAction(New);
men->addAction(Save);
//给菜单项New设置快捷键
New->setShortcut(QKeySequence(Qt::CTRL+Qt::Key_N));

运行结果:
在这里插入图片描述
快捷键动起来:
在这里插入图片描述

 connect(New,&QAction::triggered,[=](){
        qDebug() << "新建文件了" << endl;
    });

运行结果:
在这里插入图片描述

2、工具栏

1、添加工具栏

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

2、将菜单项放入工具栏

在这里插入图片描述
设置工具栏是否浮动 true浮动 false不浮动
在这里插入图片描述
设置工具栏 允许的位置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
只允许工具栏左右停靠

//创建一个工具栏
    QToolBar *tool = new QToolBar(this);
    //将工具栏添加到主窗口中
    this->addToolBar(tool);
    
    //将菜单项 New Edit放入工具栏中
    tool->addAction(New);
    tool->addSeparator();
    tool->addAction(Save);
    
    //工具栏默认是允许浮动 false不允许浮动
    tool->setFloatable(false);
    
    //设置工具栏 允许的区域
    tool->setAllowedAreas(Qt::LeftToolBarArea | Qt::RightToolBarArea);

运行结果:
在这里插入图片描述

3、状态栏

1、添加状态栏

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

4、添加铆接部件 中心部件

1、添加铆接部件

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

//创建一个铆接部件
    QDockWidget *dock = new QDockWidget("铆接",this);
    //将铆接部件添加到主窗口中
    this->addDockWidget(Qt::TopDockWidgetArea,dock);
    //设置铆接部件的停靠位置(上下停靠)
    dock->setAllowedAreas(Qt::TopDockWidgetArea|Qt::BottomDockWidgetArea);

2、创建一个中心部件

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

5、添加资源文件

1、将资源放进工程中(建议)

在这里插入图片描述

2、添加资源文件

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

3、为资源文件添加资源

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

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

4、如果需要重新添加文件:

在这里插入图片描述

5、使用资源文件

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

6、UI文件的使用

在这里插入图片描述
在这里插入图片描述
如何使用UI中的控件:ui -> 控件名称
在这里插入图片描述

7、对话框

1、对话框的分类

模态对话框:带阻塞
非模态对话框:不阻塞

2、消息对话框QMessageBox

在这里插入图片描述
以上对话框都是static静态函数:
错误提示框:
在这里插入图片描述
信息提示框:
在这里插入图片描述
询问对话框:
在这里插入图片描述
修改yes–>Save No—>Cancel
在这里插入图片描述
默认选择的是Save 如果想默认为Cancel 如何修改呢
在这里插入图片描述
获取用户的输入:
在这里插入图片描述

3、字体对话框QFontDialog

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

4、颜色对话框QColorDialog

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

5、文件对话框QFileDialog

在这里插入图片描述

 QString filename = QFileDialog::getOpenFileName(this,"file","E:\\back","(*.png *.xpm *.jpg)");
    qDebug() << filename << endl;

运行结果:
在这里插入图片描述
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值